Pro javascript学习笔记之javascript的继承之一
2008-09-20 15:15 wlstyle 阅读(239) 评论(0) 收藏 举报在我们接触代码之前,我们要明确知道通过使用继承我们能得到什么。通常来说,你想以某种方式设计你的代码从而减少相应代码并且尽量降低对象之间的耦合度。继承你符合这两个设计目标。
传统继承(classical inheritance)
Javascript能实现像传统的那样的继承。通过使用构造函数创建类。然后使用关键词new来实例化类。
首先创建一个构造器,this关键字代表类。类名以大写字母开头。在构造器内部用this关键字来创建属性。在原型对象prototype中创建类的方法。如果要创建这个类的示例,只需要使用new关键字调用类的构造函数。这样就能访问类中所有的属性和方法。
1 原型链(the prototype chain)
通过原型链继承Car类
在javascript中要使一个类继承一个类。这需要成倍的代码。首先要创建个构造函数。然后在在该构造函数中call超类的构造函数。传入参数。这里值得注意的是prototype这个属性。在javascrip中每一个对象都有一个prototype属性。这个对象指向其他对象或者空对象。当调用对象的一个成员的时候。当他在当前对象中不存在那么他在原型对象中查找。如果在原型对象中没有找到。那他继续在原型链中寻找。访问每个对象的原型链。直到找到这个成员。这意味着如果要让一个类继承另外一个类。只需要将子类的原型属性指向超类的实例。然后是指定constructor属性为子类本生。因为上一步将子类的prototype属性指向了超类的例子。尽管上述方法实现继承花费了额外的几行代码。但是实例化是时候仍然还是一样的。
浙公网安备 33010602011771号