顧名思義繼承講的通俗點就是,兒子繼承老子的財產。面向對象里面也和這個原理差不多。面向對象里有個強大的關鍵字:call() ,它能把父級有的照搬不誤全搬到自己里面。
具體用法:
...............................................................................................................................................................................................................................
例 一,
function A(){
this.num=666;
}
A.prototype.show=function(){
alert(this.num)
}
function B(){
A.call(this) //如果把這句話注釋掉的話,下面彈出的就是undefined
//因為B這個類沒有A類的那個屬性
}
var obj=new B();
alert(obj.num) //彈出來666;因為B繼承了A的屬性
...............................................................................................................................................................................................................................
例二,
function A(){
this.abc=500;
}
A.prototype.sun=function(){
alert(this.abc);
}
function B(){
A.call(this)
}
for(var i in A.prototype){ //本來B沒有sun這個方法就是通過A的原型上繼承過來的方法
B.prototype[i]=A.prototype[i]
}
var obj=new B();
obj.sun//彈出500
...............................................................................................................................................................................................................................
面向對象繼承說明了子類繼承了父類的屬性和方法。而不是子類自己具備這個方法(就好比如你老子的財產並不是你自己打拼來的,而是通過繼承才有你老子的財產)
這個比喻有點不恰當,請原諒!
