`

javascript中基于类的继承

    博客分类:
  • AJAX
阅读更多
xml 代码
  1. 在两个对象之间创建一个继承关系可以用函数来实现,函数如下:   
  2. function creatInheritance(parent,child){   
  3. var property;   
  4. for(property in parent){   
  5.   if(!child[property]){   
  6.      child[property]=parent[property];   
  7.        }   
  8.      }   
  9. }   
  10. 这个函数迭代处理父对象的所有成员(属性和函数),如果某个成员在子对象中不存在,则复制到子对象。   
  11. 使用creatInheritance函数的例子   
  12. var child=new Child();   
  13. creatInheritance(new Parent(),child);   
  14. 父对象中有而子对象中没有的所有属性和方法将复制到子对象。   
分享到:
评论
4 楼 ajaxgo 2007-11-27  
lz的方法会失去instanceof(子类的实例instanceof 父类,变为false)
Prototype1.5曾用简单的extend原型方法做继承。但这样不好。目前比较常用的方法是:
Child.prototype=new Pranet(); //保留prototype链 
_extend(Child.prototype,{ //子类的属性方法 
..... 
}); 
Child.prototype.constructor=Child; //修正constructor



ps:为什么我现在在javaeye编辑帖子格式都不对???
3 楼 afcn0 2007-11-26  
不是给每个对象都配备了方法,而是每个对象都原形继承了inherit方法
2 楼 dikar 2007-11-26  
这样也好,给每个对象都配备了继承方法
1 楼 afcn0 2007-11-26  
不如改造下
Object.prototype.inherit=function(object){
for(var property in object){   
   if(!this[property]){   
     this[property]=object[property];   
       }   
      }   
};
child.inherit(new Parent());

这样更好点。

相关推荐

    JavaScript中的类继承

    JavaScript中的类继承是一种模拟传统面向对象编程中类概念的方式,因为JavaScript本身是一种基于原型的面向对象语言。在JavaScript中,对象可以直接从其他对象继承属性和方法,而不是通过类的实例化。这种继承机制...

    浅析JavaScript实现基于原型对象的“继承”.pdf

    本文旨在对JavaScript实现基于原型对象的“继承”进行深入分析,并与基于类的继承进行比较。通过对JavaScript的原型继承机制的介绍和实例分析,提出一个改进的“寄生组合模式”,使读者能够更好地理解和应用...

    javascript 原生态js类继承实现的方式

    几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例。... 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。

    JavaScript中的继承之类继承_.docx

    ### JavaScript中的继承——类继承 #### 一、引言 JavaScript是一种动态的、弱类型的编程语言,它支持面向对象编程模式。与传统的面向对象语言如Java或C#不同,JavaScript的继承模型基于原型,这使得它的继承机制...

    JavaScript中基于原型的继承的实现与分析.pdf

    JavaScript中基于原型的继承的实现与分析.pdf

    JavaScript继承

    此外,JavaScript的灵活性允许开发者选择基于类的继承方式,或者利用原型继承的微妙之处,实现更高效的设计。 4.1 为什么需要继承 继承的主要目的是代码复用和降低耦合度。通过继承,可以在已有类的基础上扩展功能...

    javascript控件开发之继承关系

    在JavaScript中,继承是基于原型(prototype)的机制。每个JavaScript对象都有一个内部[[Prototype]]链接到另一个对象,这通常是其构造函数的prototype属性。通过这种方式,一个对象可以“继承”另一个对象的属性和...

    详解JavaScript中基于原型prototype的继承特性_.docx

    由于JavaScript是一种基于原型的面向对象语言,它不支持传统的类(class)概念,因此其继承机制显得与众不同。在JavaScript中,对象可以直接从另一个对象继承属性和方法,这主要是通过原型链(prototype chain)来...

    JavaScript学习之三 — JavaScript实现继承的7种方式

    这是ES6引入的类的继承方式,实质上仍是基于原型链。通过`class`和`extends`关键字,子类可以继承父类的所有属性和方法,而且父类的静态属性和方法也能被继承。这提供了更清晰的语法,但底层仍然是原型链机制。 6. ...

    JavaScript继承机制研究.pdf

    JavaScript是一门基于原型的语言,它不像其他面向对象的语言那样具有类的概念,而是通过原型链来实现继承。原型链是JavaScript继承机制的核心,它允许一个对象从另一个对象中继承属性和方法。通过原型链,JavaScript...

    JavaScript中的原型继承基础学习教程_.docx

    与其他许多编程语言不同,JavaScript不使用类来实现继承,而是基于原型(prototype)的概念。本文将深入探讨JavaScript中的原型继承基础。 首先,理解`__proto__`属性至关重要。当一个对象`rabbit`继承自另一个对象...

    javascript的prototype继承

    2. **引用原型而不是复制**:在JavaScript中,原型继承是基于引用的,这意味着修改父类的原型会影响到所有子类实例。例如: ```javascript ClassB.prototype.a = 'changed!!'; ``` 这将改变所有`ClassB`实例的`a`...

    Javascript中的封装与继承

    此外,ES6引入了类(Class)语法,它提供了一种更直观的方式来表达继承关系,实际上,这只是语法糖,底层还是基于原型链: ```javascript class Animal { constructor(name) { this.name = name; } sayName() ...

    javascript 继承派生

    在JavaScript中,由于它没有内置的类结构,而是采用原型(prototype)链来实现继承。当一个对象作为另一个对象的原型时,后者就能访问前者的属性和方法。 **派生**,或称为子类化,是指创建一个新类(子类),该类...

    Javascript类的继承,使用this.callParent调用超类方法

    在本话题中,我们将深入探讨JavaScript中的类继承,并特别关注`this.callParent`这个方法,它是如何被用来调用超类方法的。 首先,让我们了解JavaScript中的构造函数。构造函数是一种特殊的函数,用于创建和初始化...

    JavaScript继承与多继承实例分析.docx

    JavaScript的继承机制主要基于原型链,本文将深入探讨JavaScript的继承与多继承,并通过实例进行分析。 1. **JavaScript继承** - **原理**:JavaScript的继承主要是通过原型链(prototype chain)来实现的。每个...

    JavaScript面向对象继承详解

    本文将深入探讨JavaScript中的面向对象继承,这是理解JavaScript OOP的关键部分。 面向对象继承是实现代码复用和模块化的重要机制。在JavaScript中,继承主要通过原型链(Prototype Chain)实现。每个JavaScript...

    JavaScript中继承原理与用法实例入门

    在JavaScript中,由于其动态类型和基于原型的特性,实现继承的方式比传统的面向对象语言更为灵活,但也相对复杂。本文将深入探讨JavaScript中的继承原理与用法,并通过实例进行讲解。 首先,JavaScript的对象由两...

Global site tag (gtag.js) - Google Analytics