我刚刚开始进入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继承。但在我的“商业”和“部门”的情况下,我有点困惑。
答案 0 :(得分:0)
在这种情况下,你想使用组合,业务“有一个”部门但业务“不是”一个部门。业务将具有属性扇区,这在构造函数中传递,因此您可以将不同的扇区传递给不同的业务。因此,如果产品的输出取决于扇区,则代码将在扇区类中。