用于链接对象的正确结构

时间:2017-02-06 23:20:24

标签: javascript object

我刚刚开始进入OOP,并想知道将对象链接在一起的正确结构。

比方说,我有一个名为“商业”的对象:

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;
  }

现在在上面的例子中,使用属性capital和employees,方法'self.produce'产生输出。我希望根据扇区存储此输出。

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

我理解继承用于类似对象的属性,例如宠物将从Animal继承。但在我的“商业”和“部门”的情况下,我有点困惑。

1 个答案:

答案 0 :(得分:0)

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