Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 链接对象的正确结构_Javascript_Object - Fatal编程技术网

Javascript 链接对象的正确结构

Javascript 链接对象的正确结构,javascript,object,Javascript,Object,我刚开始接触OOP,想知道链接对象的正确结构 例如,我有一个名为“Business”的对象: 现在,在上面的示例中,使用properties capital and employees方法“self.product”生成输出。我想存储的输出取决于扇区 因此,我会创建一个单独的“扇区”对象吗?或者,在我的业务对象中,它会继承“扇区”对象吗 我知道遗传是用于类似对象的属性,例如宠物会从动物身上遗传。但是在我的“商业”和“部门”的例子中,我有点困惑。在这个例子中,你想使用组合,商业“有一个部门,但商业

我刚开始接触OOP,想知道链接对象的正确结构

例如,我有一个名为“Business”的对象:

现在,在上面的示例中,使用properties capital and employees方法“self.product”生成输出。我想存储的输出取决于扇区

因此,我会创建一个单独的“扇区”对象吗?或者,在我的业务对象中,它会继承“扇区”对象吗


我知道遗传是用于类似对象的属性,例如宠物会从动物身上遗传。但是在我的“商业”和“部门”的例子中,我有点困惑。

在这个例子中,你想使用组合,商业“有一个部门,但商业”不是“部门”。业务将有一个属性扇区,该属性在构造函数中传递,因此您可以将不同的扇区传递给不同的业务。因此,如果产品的输出取决于扇区,那么代码将在扇区类中。

什么是“我想存储”的具体含义?您是否建议我继续使用合成?我看了这段视频,这段视频有助于澄清:是的,在这种情况下,肯定要使用组合,但是在你的扇区类中,如果你在它们之间共享了功能,那么就在那里使用继承。
function Business(name, sector, capital, employees, type, id) {
  var self = {
    name: name,
    sector: sector,
    capital: capital,
    employees: employees,
    stock: 0,
    type: type,
    id: id,
  };
  self.produce = function() {
    return self.capital * self.employees;
  }