Javascript玩转继承(二)
2010-09-14 13:46:29 来源:WEB开发网核心提示: 可是得到的结果却不是我们想象的那样:其实很容易解释:构造继承只是通过了调用父类的构造方法复制的父类的属性,其他的什么搜没有做,Javascript玩转继承(二)(2),所以很多资料中并不把这种继承方式称做继承,看到缺点的同时也记住优点:支持多继承,我借鉴《Javascript王者归来》中的
可是得到的结果却不是我们想象的那样:
其实很容易解释:构造继承只是通过了调用父类的构造方法复制的父类的属性,其他的什么搜没有做,所以很多资料中并不把这种继承方式称做继承。
看到缺点的同时也记住优点:支持多继承。
我们看C# 的继承,发现与这个继承有两个最典型的不同:C#不支持多继承,以及我上面提到的构造继承的缺点。于是就产生了一种新的继承方式,我们成为原型继承。
看到名字,可以大致理解,原型继承就是使用原型(prototype)的特性来实现继承的。这是在Javascript最流行的一种继承方式。如果对原型有不理解,请关注我的另一篇文章:《玩转原型——prototype》。
我们先来看代码,在这里,我借鉴《Javascript王者归来》中的一段代码:
function Point(dimension)
{
this.dimension=dimension;
this.Test=function(){
alert("Success");
}
}
function Point2D(x,y)
{
this.x=x;
this.y=y;
}
Point2D.prototype=new Point(2);
var p=new Point2D(3,4);
p.Test();
测试通过。说明Point2D已经继承了父类的方法,再看看instance。
Tags:Javascript 继承
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接