WEB开发网
开发学院网页设计JavaScript JavaScript中的面向对象----继承 阅读

JavaScript中的面向对象----继承

 2010-09-14 13:24:05 来源:WEB开发网   
核心提示:1、对象冒充functionClassA(sColor){this.color=sColor;this.sayColor=function(){alert(this.color);}}functionClassB(sColor,sName){this.newMethod=ClassA;this.newMethod(sC

1、对象冒充

functionClassA(sColor){
  this.color=sColor;
  this.sayColor=function(){
    alert(this.color);
  }
}
functionClassB(sColor,sName){
  this.newMethod=ClassA;
  this.newMethod(sColor);
  deletethis.newMethod;
  
  this.name=sName;
  this.sayName=function(){
    alert(this.name);
  }
}
varobjB=newClassB("colorofobjB","nameofobjB");
objB.sayColor();

2、call方法

functionClassA(sColor){
  this.color=sColor;
  this.sayColor=function(){
    alert(this.color);
  }
}
functionClassB(sColor,sName){
//  this.newMethod=ClassA;
//  this.newMethod(sColor);
//  deletethis.newMethod;
  ClassA.call(this,sColor);
  
  this.name=sName;
  this.sayName=function(){
    alert(this.name);
  }
}
varobjB=newClassB("colorofobjB","nameofobjB");
objB.sayColor();

3、apply方法

functionClassA(sColor){
  this.color=sColor;
  this.sayColor=function(){
    alert(this.color);
  }
}
functionClassB(sColor,sName){
//  this.newMethod=ClassA;
//  this.newMethod(sColor);
//  deletethis.newMethod;
  ClassA.apply(this,newArray(sColor));
  
  this.name=sName;
  this.sayName=function(){
    alert(this.name);
  }
}
varobjB=newClassB("colorofobjB","nameofobjB");
objB.sayColor();

4、原型链方法

functionClassA(){
}
ClassA.prototype.color="color";
ClassA.prototype.sayColor=function(){
  alert(this.color);
}
functionClassB(){
}
ClassB.prototype=newClassA();
ClassB.prototype.name="name";
ClassB.prototype.sayName=function(){
  alert(this.name);
}
varobjB=newClassB();
objB.color="colorofobjB";
objB.name="nameofobjB";
objB.sayColor();

5、混合方式

functionClassA(sColor){
  this.color=sColor;
}
ClassA.prototype.sayColor=function(){
  alert(this.color);
}
functionClassB(sColor,sName){
  ClassA.call(this,sColor);
  this.name=sName;
}
ClassB.prototype=newClassA();
ClassB.prototype.sayName=function(){
  alert(this.name);
}
varobjB=newClassB("colorofobjB","nameofobjB");
objB.sayColor();

Tags:JavaScript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接