javascript 继承

继承是为减少重复性代码。JS 的继承也是出于此目的。JS的继承和其他面向对象的语言有很大的区别。

JS 的继承是属于原型式继承。

 1.JS 对象创建 JS 可以模仿其他面向对象的语言是用new关键字创建对象,实现的原理就是函数。如下对象的一个简单定义。

function ObjectC(names)
{
    this.name=names;
}
ObjectC.prototype.GetName=function()
{
   alert(this.name);
}

创建对象即可 var o= new Object("testObj");

 TIPS:使用new运算符 系统会先创建一个空对象,然后调用构造函数,并且把空对象置于作用域的最前端。

  2.对象的继承,js继承使用原型链。

function ChildObj(name,flyble)
{
   ObjectC.call(this,name);
  this.flyble=flyble;
}

ChildObj.prototype=new ObjectC();
ChildObj.prototype.constructor=ChildOObj;
ChildObj.prototype.Getfly=function(){
   return this.flyble;
}

  继承创建对象 如上TIPS,必须手工完成。ObjectC.call(this,name);这条语句实现这个功能。

原型:javascript对象都具有原型对象(NULL除外) 每一个javascript对象都与一个原型对象相关联从原型继承属性。通过对象直接量  采用new  和{}创建的对象的原型对象都是Object.prototype.   js查找成员时如果在单前对象没有找到 则会沿着原型链向上查找。那么让一个类继承另一类 则只需要把当前对象的原型设置为指向超类的实例即可。

继承的公共代码

function  Inhit(subclass,superclass){
   var F = function();
     F.prototype=superclass.prototyp;
     subclass.prototype=new F();
     subclass.prototype.constrotor=subclass;
}

 

posted @ 2014-09-22 14:46  坚硬的鸡蛋  阅读(78)  评论(0)    收藏  举报