javascript 子类在继承问题
大致意思是b是a的子类,c又是b的子类,按道理说c应该能有a的方法阿?为什么我不能获取到阿,大致的代码如下,是不是js不支持还是什么 ,请大神讲解下阿,刚在学,说错请包含阿
//a类
function a(att){
this.att=att;
}
a.prototype.show=function(){
alert(this.att);
};
//b类继承a
function b(att){
this.att=att;
}
b.prototype.show2=function(){
alert(this.att);
};
b.prototype=new a();
b.prototype.constructor=b;
//c类继承b
function c(att){
this.att=att;
}
c.prototype.show3=function(){
alert(this.att);
};
c.prototype=new b();
c.prototype.constructor=c;
var test=new c("test");
test.show();//
为什么说找不到方法呢!
------解决方案--------------------test.show();方法可以找到。
是test.show2()和test.show3()找不到吧!
要先设置继承,再设置对象的方法
//a类
function a(att){
this.att=att;
}
a.prototype.show=function(){
alert(this.att);
};
//b类继承a
function b(att){
this.att=att;
}
b.prototype=new a();
b.prototype.constructor=b;
b.prototype.show2=function(){
alert(this.att);
};
//c类继承b
function c(att){
this.att=att;
}
c.prototype=new b();
c.prototype.constructor=c;
c.prototype.show3=function(){
alert(this.att);
};
var test=new c("test");
test.show();
test.show2();
test.show3();