<SCRIPT LANGUAGE="JavaScript">
<!--
var Class = {
isPrototype: function () {},
create: function() {
return function() {
if (arguments && arguments[0] != Class.isPrototype)
this.initialize.apply(this, arguments);
}
},
extend : function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
},
inherit: function () {
var superClass = arguments[0];
var proto = new superClass(Class.isPrototype);
for (var i = 1; i < arguments.length; i++) {
if (typeof arguments[i] == "function") {
var mixin = arguments[i];
arguments[i] = new mixin(OpenLayers.Class.isPrototype);
}
Class.extend(proto, arguments[i]);
if((arguments[i].hasOwnProperty && arguments[i].hasOwnProperty('toString')) ||
(!arguments[i].hasOwnProperty && arguments[i].toString)) {
proto.toString = arguments[i].toString;
}
}
return proto;
}
};
var Base=Class.create();
Base.prototype={
x : 1,
y : 2,
initialize : function(){
this.x=100;
this.y=10;
},
area : function(){
return this.x * this.y
}
}
var Child = Class.create();
Child.prototype=Class.inherit(Base,{
initialize : function(){
Base.prototype.initialize.apply(this);
this.x=10;
},
area : function(){
var old=Base.prototype.area.apply(this);
return old + 100000;
}
});
var base=new Base();
var child=new Child();
alert(child.area())
//-->
</SCRIPT>
分享到:
相关推荐
JavaScript中基于原型的继承的实现与分析.pdf
浅析JavaScript实现基于原型对象的“继承”.pdf
详解JavaScript中基于原型prototype的继承特性_.docx
主要介绍了JavaScript使用原型和原型链实现对象继承的方法,简单讲述了javascript原型与原型链的原理,并结合实例形式详细分析了javascript中对象继承的常见实现技巧,需要的朋友可以参考下
浅析Javascript原型继承,浅析Javascript原型继承
javascript中如何实现封装,继承和多态
JavaScript一种没有类的,面向对象的语言,它使用原型继承来代替类继承。这个可能对受过传统的面向对象语言(如C++和Java)训练的程序员来说有点迷惑。JavaScript的原型继承比类继承有更强大的表现力,现在就让我们...
在JavaScript中继承是一个非常复杂的话题,比其他任何面向对象的语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。与它们不同,在JavaScript中要想达到传承公用成员的目的,...
理解Javascript原型继承原理
javascript原型继承,prototype的使用,可以像java一样继承
当访问某个对象中的一个不存在的属性或方法时,会自动调用原型中的属性和方法。也就是说,基于原型创建的对象会自动拥有原型的属性和方法。 之前我们学过构造函数,通过构造函数也可以使两个对象具有相同的属性和...
而实例则是类的一个具体实现。 我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象...
Javascript原型继承Javascript原型继承Javascript原型继承
构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。 如果让原型对象等于另一个对象的实例,这样原型对象将包含一个指向...
proto 一个基于原型的继承/类库,可以轻松创建对象和继承层次结构,而不会失去 javascript 原型系统的强大功能。为什么使用原型? proto很好用——你可以使用 proto 从任何对象继承,即使它是用不同的继承库创建的!...
JavaScript中的原型和继承详解(图文)_.docx
爱心源码基于html和javascript实现的爱心源码爱心源码基于html和javascript实现的爱心源码爱心源码基于html和javascript实现的爱心源码爱心源码基于html和javascript实现的爱心源码爱心源码基于html和javascript实现...
JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。...由于 JavaScript 是唯一一个被广泛使用的基于原型继承的语言,所以理解两种继承模式的差异是需要一定时间的,今天我们就来了解一下原型和原型链
1. 继承是面向对象编程语言的一个重要特性,比如Java中,通过extend可以实现多继承,但是JavaScript中的继承方式跟JAVA中有很大的区别,JS中通过原型链的方式实现继承。 (1)对象的原型:因为JS中,函数也是对象,...