继承两个 类 - Javascript

Inherit two classes - Javascript

我正在创建一个新的 class 定义 Button,它扩展了 EaselJS 中现有的 Container class。没有问题。但是,我也希望 Button 从超级 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,不支持多重继承。你可以:

  1. 重新考虑您的继承结构(例如让 Button extend All 扩展 Container)
  2. 将来自 All 的成员混入您的 Button class 或实例:Button.prototype.doSomething = All.prototype.doSomethingmyButton.doSomething = All.prototype.doSomething
  3. 将成员注入到一个超级 class 中,例如 DisplayObject,它由您想要成员的所有 classes 扩展:DisplayObject.prototype.doSomething = All.prototype.doSomething.