顾名思义继承讲的通俗点就是,儿子继承老子的财产。面向对象里面也和这个原理差不对。面向对象里有个强大的关键字: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
...............................................................................................................................................................................................................................
面向对象继承说明了子类继承了父类的属性和方法。而不是子类自己具备这个方法(就好比如你老子的财产并不是你自己打拼来的,而是通过继承才有你老子的财产)
这个比喻有点不恰当,请原谅!
原文:http://www.cnblogs.com/ruanwei/p/6430010.html