`
niuzai
  • 浏览: 67940 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

js基于对象冒充和原型方式实现继承关系

阅读更多
	Class = function(){
		var subClass = function(){};
		var superClass = arguments[0];
		if(typeof(superClass) === "function"){
			subClass = function(){
				if(this.initialize){
					this.initialize.call(this , arguments);
				}
			};
			subClass.prototype = new superClass();
			subClass.prototype.constructor = subClass;
		}
		subClass.prototype.extend = function(extendsObj){
			for(var m in extendsObj){
				this[m] = extendsObj[m];
			}
		};
		return  subClass;
	};

    SuperClass = Class();
	SuperClass.prototype.extend({
		a : 'superClass field a',
		b : function(){
			return "superClass method b";
		},
		c : 's'
	});

    SubClass = Class(SuperClass);
	SubClass.prototype.extend({
		a : 'subClass field a',
		b : function(){
			return "subClass method b";
		}
	});
	
	var s = new SubClass();
	alert(s.a);
	alert(s.b());
	alert(s.c);
 
分享到:
评论

相关推荐

    详解Javascript继承的实现

    我最早掌握的在js中实现继承的方法是在xx学到的混合原型链和对象冒充的方法,在工作中,只要用到继承的时候,我都是用这个方法实现。它的实现简单,思路清晰:用对象冒充继承父类构造函数的属性,用原型链继承父类...

    Javascript中3种实现继承的方法和代码实例_.docx

    总结来说,JavaScript中的继承机制虽然没有像其他面向对象语言那样直接,但通过对象冒充、原型继承和混合继承等方式,开发者可以有效地实现代码复用和面向对象的设计。在实际应用中,应根据项目需求选择合适的继承...

    基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解

    首先来分析构造函数和原型链两种实现继承方式的缺陷: 构造函数(对象冒充)的主要问题是必须使用构造函数方式,且无法继承通过原型定义的方法,这不是最好的选择。不过如果使用原型链,就无法使用带参数的构造函数...

    JavaScript 原型继承之构造函数继承

    JavaScript中的构造函数继承是基于原型继承的一种实现方式,它允许一个构造函数(子类)从另一个构造函数(父类)那里继承属性和方法。在JavaScript中,每个对象都有一个[[Prototype]]内部属性,通常通过`__proto__`...

    javascript 继承实现方法

    混合继承是指在对象冒充和原型链的基础上,结合构造函数和原型的方式来实现继承。利用构造函数来定义实例属性,利用原型来定义方法,结合这两种方式可以让继承更为灵活和强大。 JavaScript中的继承实现方法还有很多...

    Javascript继承[参考].pdf

    JavaScript的原型继承是通过原型对象(`__proto__`)来实现的,子类的原型对象指向父类的实例,从而实现属性和方法的继承。这种方式更符合面向对象编程的思想,但不支持多继承。 4. 混合方式: 在实际开发中,...

    js实现继承的5种方式

    本文将详细介绍JavaScript中实现继承的五种方式:对象冒充、call()方法方式、apply()方法方式、原型链方式以及混合方式。 首先,对象冒充是一种通过临时借用父类构造函数来实现继承的方式。其基本思想是创建一个...

    基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解

    总结起来,对象冒充是一种原始的JavaScript继承实现方式,它利用`this`关键字在函数调用中的动态绑定特性,使得一个构造函数可以“冒充”为另一个构造函数的方法,从而实现属性和方法的继承。虽然这种方法有一些限制...

    JS实现面向对象继承的5种方式分析

    JavaScript是一种基于原型的动态类型语言,它没有像Java或C++那样的传统类继承机制,而是通过其他方式实现了面向对象的继承。在JavaScript中,有多种实现面向对象继承的方法,包括对象冒充、`call`/`apply`方法、...

    JAVASCRIPT中定义对象的几种方式.pdf

    在JavaScript中,对象是语言的核心组成部分,由于它没有传统的类机制,而是采用了基于原型的面向对象编程模型。本文将深入探讨在JavaScript中定义对象的几种常见方式,包括工厂模式、构造函数、原型以及继承。 1. ...

    JavaScript中的对象继承关系

    总结一下,JavaScript中的对象继承关系主要包括类继承(通过`call`或`apply`模拟)和原型继承(通过`prototype`属性)。类继承可直接访问父类实例属性但不继承原型,原型继承则共享父类的原型属性和方法。两者混合...

    详解Javascript继承的实现_.docx

    首先,我们来看混合方式的实现,这是一种常见的继承策略,结合了原型链和构造函数继承。在JavaScript中,对象的属性和方法可以通过原型链进行继承,而构造函数则用于初始化实例属性。以下是一个示例: ```...

    2.05 面向对象编程应用.pdf

    对象的继承是面向对象编程的重要概念,JavaScript中对象的继承可以通过prototype链来实现。下面是一些常用的继承方法: 1. isPrototypeOf: isPrototypeOf用于指示对象是否存在于另一个对象的原型链中。 2. ...

    javascript继承问题

    在给定的代码示例中,我们看到了两种不同的尝试实现JavaScript继承的方式,一种是通过`call()`方法进行对象冒充,另一种是通过修改`prototype`属性实现原型链继承。下面我们将详细探讨这两种方式以及它们在实际代码...

    JavaScript五种继承方式

    JavaScript继承第1种方式:对象冒充;第2种方式:call方法;第3种方式:apply方法;第4种方式:原型链方式;第5种方式:混合方式(推荐)

    Javascript基于对象三大特性(封装性、继承性、多态性)

    2. **原型链**:JavaScript的原型链机制使得一个对象可以访问其原型对象的属性和方法,从而实现继承。例如: ```javascript Child.prototype = new Parent(); ``` 或者使用`Object.create()`: ```javascript ...

    Javascript中3种实现继承的方法和代码实例

    本篇将详细介绍三种常见的JavaScript继承实现方法:对象冒充、原型继承以及两者的混合使用。 1. 对象冒充: 对象冒充依赖于`this`关键字,它允许我们在构造函数中为实例创建属性和方法。我们可以将父类的构造函数...

    简单分析javascript面向对象与原型

    JavaScript的对象继承是基于原型链的。每个对象都有一个内部的`[[Prototype]]`属性,通常可以通过`__proto__`或`Object.getPrototypeOf()`访问。`instanceof`操作符用于检测一个对象是否属于某个构造函数的实例。...

Global site tag (gtag.js) - Google Analytics