WEB开发网
开发学院网页设计JavaScript JavaScript的相关继承笔记以及使用外部库实现Java... 阅读

JavaScript的相关继承笔记以及使用外部库实现JavaScript的面向对象特性

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示: zInherit对Object添加了2个延伸方法:inheritForm()与instanceOf() ,inheritForm()复制指定类的方法等同于上面的Child.prototype = new Parent(); instanceOf() 方法可以判断一个类是不是某个类的导出类,Jav

zInherit对Object添加了2个延伸方法:inheritForm()与instanceOf() ,inheritForm()复制指定类的方法等同于上面的Child.prototype = new Parent(); instanceOf() 方法可以判断一个类是不是某个类的导出类。

示例代码同上,Child.prototype = new Parent(); 替换为 Child.prototype = inheritForm(Parent); 即可。

使用zInherit可以让代码支持以动态原型的方式来实现多重继承片段:

   1. function Parent(pName){ 
   2.    this.name = pName; 
   3.    if(typeof Parent._initialized == "undefined"){ 
   4.       Parent.prototype.sayxName= function(){ 
   5.       alert(this.name); 
   6.      }; 
   7.      Parent._initialized = true; 
   8.    } 
   9. } 
  10. 
  11. function Mother(pName){ 
  12.    this.name = pName+"sex*y"; 
  13.    if(typeof Mother._initialized == "undefined"){ 
  14.       Parent.prototype.sayyName= function(){ 
  15.       alert(this.name); 
  16.      }; 
  17.      Mother._initialized = true; 
  18.    } 
  19. } 
  20. 
  21. function Child(cName,cNumber){ 
  22.    Parent.call(this,cName); 
  23.    Mother.call(this,cName); 
  24.    this.name = cName; 
  25. 
  26.    if(typeof Parent._initialized == "undefined"){ 
  27.         Child.prototype = inheritForm(Parent); 
  28.         Child.prototype = inheritForm(Mother); 
  29.         Child.prototype.sayNumber = function(){ 
  30.         alert(this.number); 
  31.     }; 
  32.     Child._initialized = true; 
  33.    } 
  34. 
  35. 
  36. }

上一页  1 2 3 4 5 6  下一页

Tags:JavaScript 相关 继承

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