这些代码摘自《学习Javascript设计模式》一书中抽象装饰器的例子。我被this.superclass.constructor()
and弄糊涂了extend()
。
我能理解的this
指的是myMacbookPro
,这里的一个实例CaseDecorator
。但this.superclass
指的是什么?为什么不只是this.constructor(macbook)
?
CaseDecorator
的超类是MacbookDecorator
?继承发生在哪里?它们是原生 Javascript 的一部分还是第三方库的一部分?
谢谢
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);