使用“原型链”来实现javascript类的继承机制,它是利用prototype对象的任何属性和方法都被传递给某个类的所有实例的原理.
如下ClassA与ClassB:
-
- function ClassA() { }
-
- ClassA.prototype.color = "red";
-
- ClassA.prototype.sayColor = function() {
- alert(this.color);
- }
-
- function ClassB() {
-
- }
- //可以获得CLassA的所有属性与方法但又不用一一将将它们赋予ClassB的prototype属性
- ClassB.prototype = new ClassA();
-
- ClassB.prototype.name = "";
- ClassB.prototype.sayName = function() {
- alert(this.name);
- }
这种方法实现类继承很是灵活,实用.不过原型链的不足就是它不支持多重继承,并且构造函数也不能带有参数.
总结以上,对象冒充的主要问题是必须使用构造函数方式,这不是最好的选择,但是使用原型链就无法使用带参数的构造函数了。所以,现在介绍一种两全其美的方式------混合方式.
以前,我们创建类的最好方式是用构造函数方式定义属性,用原型方式定义方法。同样的这种方式也适用于继承机制,用对象冒充继承构造函数的属性,用原型链继承prototype对象的方法.
重写上例:
- function ClassA(sColor) {
- this.color = sColor;
- }
-
- ClassA.prototype.sayColor = function() {
- alert(this.color);
- }
-
-
- function ClassB() {
- ClassA.call(this, sColor);
- this.name = sName;
- }
-
- ClassB.prototype = new ClassA();
-
- ClassB.prototype.sayName = function() {
- alert(this.name);
- }
此种方法很受推荐,它集合其他方式 的优点,并且没有了他们的不足,所以,如果javascript实现继承,此种方式很是流行.^_^
分享到:
相关推荐
在本文中,我们将深入探讨JavaScript继承机制的实现方式,并对基于原型的继承、构造函数方式继承、组合继承、寄生式继承等继承机制进行了总结归纳和分析。 基于原型的继承 JavaScript是一门基于原型的语言,它不像...
JavaScript继承机制探讨及其应用 JavaScript是一门弱类型语言,具有函数式编程和面向对象编程的特点。随着近几年JavaScript生态圈的发展和成熟,项目的编码量和复杂度也在呈几何级数增长。JavaScript面向对象编程中...
要用ECMAScript实现继承机制,首先从基类入手。所有开发者定义的类都可作为基类。出于安全原因,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击。
本文将深入探讨JavaScript继承的实现方式,以及其中的问题和解决方案。 首先,我们来看混合方式的实现,这种方式结合了原型链和对象冒充。在JavaScript中,构造函数是用于创建特定类型对象的函数。例如,`Employee`...
1. JavaScript 中的继承机制是通过 prototypeChain 来实现的。 2. 继承机制可以实现代码复用和提高编程效率。 3. 组合机制是 JavaScript 中另一个重要的代码复用机制。 4. 继承机制的目的是为了实现代码复用和提高...
本篇文章将深入探讨JavaScript实现继承的七种常见方式,帮助你更好地理解和运用这一概念。 1. 原型链继承(Prototype Chain Inheritance) 原型链是JavaScript实现继承的基础。每个函数都有一个`prototype`属性,这...
在JavaScript中,面向对象编程是实现复杂功能和代码复用的关键。继承是面向对象的核心特性之一,它允许一个对象(子类)从另一个对象(父类)获取...了解这些基础概念有助于我们更好地理解和使用JavaScript的继承机制。
在JavaScript的世界里,原型继承不仅是实现对象功能共享的核心机制,也是其面向对象编程风格的基础。本文将深入探讨JavaScript原型继承的工作原理、实现方式以及在现代Web开发中的应用。 JavaScript的原型继承是一种...
与其他面向对象语言相比,JavaScript的继承机制更为复杂。在Java或C++等语言中,继承通常只需要一个关键字,如`extends`,但在JavaScript中,实现继承需要采用一系列技术。 JavaScript使用的是原型式继承,这是它与...
### 浅析JavaScript原型继承机制 #### 一、引言 JavaScript作为一种动态语言,其对象模型与传统的面向对象编程语言有所不同。在JavaScript中,并没有直接提供类的概念,而是通过原型来实现继承。本文将深入探讨...
JavaScript 是一种广泛应用于 Web 开发的脚本语言,它的继承机制是其面向对象特性的重要组成部分。在 JavaScript 中,继承主要用于创建类之间的关系,允许子类(派生类)继承父类(基类)的属性和方法,从而实现代码...
JavaScript继承的实现方式多样,除了原型链之外,还有如下几种常见方式: 1. **构造函数继承**:通过调用父构造函数来初始化子对象,但不能避免方法重复。 2. **原型链继承**:通过修改子构造函数的原型使其指向父...
文章最后以一个管理系统为例子,说明了如何使用上述继承机制实现三级类结构。例如,先定义一个Person类,包括名字、姓氏等属性,然后再定义Employee类继承自Person,并添加公司等属性,从而实现了继承。 这篇文章...
学完了Javascript类和对象的创建之后,现在总结一下Javascript继承机制的实现。Javascript并不像Java那样对继承机制有严格明确的定义,它的实现方式正如它的变量的使用方式那样也是十分宽松的,你可以设计自己的方法...
原型对象是JavaScript继承机制的核心。 寄生组合模式 基于原型的继承有一个缺陷,那就是它不能够很好地支持多继承。如果我们想要实现多继承,我们可以使用寄生组合模式。寄生组合模式是通过组合原型对象和构造函数...
JavaScript中的继承是面向对象编程的重要概念,它允许一个对象(子对象)获取另一个对象(父对象)的属性和方法,从而实现代码复用和...同时,理解JavaScript的原型、原型链和闭包等基础概念对于掌握继承机制至关重要。
JavaScript 作为基于原型的语言,其继承机制与其他面向对象语言有所不同。在JavaScript中,对象可以从其他对象直接继承,而不是通过类的概念。这里我们将深入探讨JavaScript继承的特性以及实践应用。 首先,...
通过分析和实践`source.js`中的代码,我们可以更好地理解JavaScript的继承机制,掌握如何灵活地构建可扩展的对象模型。这不仅有助于提升我们的编程能力,也是面试中经常被问到的问题,因此深入学习和掌握这部分内容...