日期:2014-05-16  浏览次数:20284 次

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>

?