对象冒充 实现多继承

 

注意:原型链时不支持多继承的

// 对象冒充实现类的多重继承
var ClassA=function (color){
    this.color = color;
    this.sayColor = function(){
        console.log(this.color);
    }
};
var ClassB=function (name){
    this.name = name;
    this.sayName = function(){
        console.log(this.name);
    }
};

//C 同时继承 A和 B
var ClassC=function(color,name){ //把ClassA作为常规函数来建立继承机制,而不是作为构造函数 ClassA.call(this,color); ClassB.call(this,name); }; var objA=new ClassA('red'), objB=new ClassB('George'), objC=new ClassC('blue','Nicholas'); objA.sayColor(); //red objB.sayName(); //George objC.sayColor(); //blue objC.sayName(); //Nicholas

 

posted @ 2017-05-07 11:45  快乐的咸鱼  阅读(121)  评论(0编辑  收藏  举报