
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
















































暂无评论内容