javascript之prototype继承小记

<script language="javascript">

//----------工具类---------------
Object.methods=function(d,s)  //为类添加方法成员
{
   for(var p in s)
   {
      d[p]=s[p];
   }
   return d;
}

Object.extend=function(f,c)   //子类实现继承父类
{
  c.prototype=new f();
  return c;
}
//------------父类定义----------------

var Animal=function(){};  //类的属性成员全部写在函数构造中
Object.methods(Animal.prototype,{    //类的方法成员全部都通过类似于{方法名:function(参数列表){方法体},....}的json形式书写。 
  say:function(){
     alert("...");
  },
  smail:function(){
     alert(":)");
  }
});
//-----------了类定义----------------

var Dog=function(){};
Object.extend(Animal,Dog);     //子类这里实现继承
Object.methods(Dog.prototype,{   //为子类添加新的方法成员,书写方法同上
  say:function(){
     alert("wowowo....");
  }
});

//--------------测试-----------------

var a=new Animal();
a.say();
var b=new Dog();
b.smail();
b.say();
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值