js面向对象程序设置——继承机制
//继承
//1、对象冒充
/* function ClassA(sColor) {
this.color = sColor;
this.sayColor = function () {
alert(this.color);
};
}
function ClassB(sColor, sName) {
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod;
this.name = sName;
this.sayName = function () {
alert(this.name);
};
}
var objA = new ClassA("blue");
var objB = new ClassB("red", "John");
objA.sayColor(); //输出 "blue"
objB.sayColor(); //输出 "red"
objB.sayName(); //输出 "John" */
//2、call方法,A.call(B,...);A,表示父类,B,表示子类。第二个参数后表示传给父类的参数
//2.1、给一个对象加方法
/* function sss(aa){
alert(aa);
}
var obj=new Object();
obj.obj111="23545";
sss.call(obj,"yellow");
*/
//2.2、对象继承对象
/* function ClassA(sColor) {
this.color = sColor;
this.sayColor = function () {
alert(this.color);
};
}
function ClassB(sColor, sName) {
ClassA.call(this, sColor);
this.name = sName;
this.sayName = function () {
alert(this.name);
};
}
var clsB=new ClassB("blue","adfadf");
clsB.sayColor(); */
//3、apply方法,A.apply(B,...);A,表示父类,B,表示子类。第二个参数后表示传给父类的参数,
//参数为array类型
//3.1、对象添加方法
/* function aaa(aaa){
alert("aaaa"+aaa);
}
var obj=new Object();
obj.name="2343";
aaa.apply(obj,new Array("---bbb")); */
//3.2、对象继承对象
/* function ClassA(name){
this.name=name;
this.showName=function(){
alert(this.name);
};
}
function ClassB(name){
this.nameb=name;
this.aaa=ClassA;
this.aaa.apply(this,new Array(this.nameb));
this.showName1=function(){
alert(this.nameb+"...bbbbb");
};
}
var bbb=new ClassB("ccc");
bbb.showName();
bbb.showName1(); */
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。