我正在创建一个新的类定义Button
,它扩展了EaselJS 中现有的Container
类。这没有问题。但是,我还希望 Button
从父类(super class) All
继承,以便 Button
也可以访问其 .banana
和 .eatBanana
。我该怎么办?
(function() {
function All() {
this.banana = 0;
}
var p = All.prototype;
p.eatBanana = function() {
alert(this.banana);
}
window.All = All;
}());
(function() {
function Button(apple) {
this.apple = apple || 0;
this.Container_constructor();
}
var p = createjs.extend(Button, createjs.Container);
p.sayHi = function() {
alert(this.apple + this.banana);
}
window.Button = createjs.promote(Button, 'Container');
}());
最佳答案
Javascript 以及扩展的 CreateJS 不支持多重继承。你可以:
- 重新考虑您的继承结构(例如,让 Button 扩展 All,从而扩展 Container)
- 将 All 中的成员混合到您的 Button 类或实例中:
Button.prototype.doSomething = All.prototype.doSomething
或myButton.doSomething = All.prototype.doSomething
>. - 将成员注入(inject)到父类(super class)中,例如 DisplayObject,该父类(super class)由您想要成员的所有类扩展:
DisplayObject.prototype.doSomething = All.prototype.doSomething
。
关于javascript - 继承两个类 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28419899/