JavaScript的相关继承笔记以及使用外部库实现JavaScript的面向对象特性
2009-09-11 00:00:00 来源:WEB开发网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. }
Tags:JavaScript 相关 继承
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接