日期:2014-05-16  浏览次数:20504 次

JavaScript继承方式(1)

前段时间温故了下JS OO之写类方式,从这篇开始我们看看JS OO之继承方式。

面向对象的语言多数都支持继承,继承最重要的优点就是代码复用,从而构建大型软件系统。如果一个类能够重用另一个类的属性和或方法,就称之为继承。 从这个角度来看看JS的继承方式。JS中继承方式与写类方式息息相关。不同的写类方式造成不同的继承方式。各种流行JS库继承方式也各不相同。从最简单的 复用开始。

?

1、构造函数方式写类,通过方法调用复制父类属性/字段到子类 实现继承

这里父类,子类都采用构造函数方式写,不用原型。子类调用父类函数来复制父类的属性。

view source print ?
01 /**
02 ? * 父类Polygon:多边形
03 ? * @param {Object} sides
04 ? */
05 function Polygon(sides) {
06 ???? this .sides = sides;
07 ???? this .setSides = function (s) { this .sides=s;}
08 }
09 ?
10 /**
11 ? * 子类Triangle:三角形
12 ? */
13 function Triangle() {
14 ???? this .tempfun = Polygon; //父类引用赋值给子类的一个属性tempfun
15