这些代码摘自《学习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);