javascript组合继承是什么

1、说明

用原型链实现原型属性和方法的继承,借用构造函数技术实现实例属性的继承。

2、缺点

组合模式的缺点是使用子类制作实例对象时,其原型有两种相同的属性、方法。

3、实例

functionSuperType(name){
this.name=name;
this.colors=["red","blue","green"];
}
SuperType.prototype.sayName=function(){
alert(this.name);
};

functionSubType(name,age){
//继承属性
//第二次调用SuperType()
SuperType.call(this,name);
this.age=age;
}

//继承方法
//构建原型链
//第一次调用SuperType()
SubType.prototype=newSuperType();
//重写SubType.prototype的constructor属性,指向自己的构造函数SubType
SubType.prototype.constructor=SubType;
SubType.prototype.sayAge=function(){
alert(this.age);
};

varinstance1=newSubType("Nicholas",29);
instance1.colors.push("black");
alert(instance1.colors);//"red,blue,green,black"
instance1.sayName();//"Nicholas";
instance1.sayAge();//29

varinstance2=newSubType("Greg",27);
alert(instance2.colors);//"red,blue,green"
instance2.sayName();//"Greg";
instance2.sayAge();//27
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容