这些代码是从《学习Javascript设计模式》一书中抽象装饰器的例子中提取出来的,我被this.superclass.constructor()
和extend()
弄糊涂了。
我可以理解this
指的是myMacbookPro
,这里是CaseDecorator
的一个示例。但是this.superclass
指的是什么?为什么不只是this.constructor(macbook)
?CaseDecorator
的超类是MacbookDecorator
?继承发生在哪里?它们是原生Javascript的一部分还是第3方库?
谢谢
var CaseDecorator = function(macbook) {
// call the superclass's constructor next
this.superclass.constructor(macbook);
};
// Let's now extend the superclass
extend(CaseDecorator, MacbookDecorator);
....
// Decorate the macbook
myMacbookPro = new CaseDecorator(myMacbookPro);
2条答案
按热度按时间t9eec4r01#
让我们构造extend函数并改变调用超类的方式:
超类调用方法:
bttbmeg02#
Extend接受两个对象,并将它们组合在一起。如果您有两个相同的属性,但其中一个对象中有第三个属性,则最终对象具有三个属性。示例:
扩展对象将是: