Ajax基础教程(5)- 5.7 实现高级JavaScript技术
http://tech.ddvip.com 2007年11月21日 社区交流
本文详细介绍Ajax基础教程(5)- 5.7 实现高级JavaScript技术
注意,wheelCount和curbWeightInPounds属性都在构造函数中使用var关键字定义,这就使得这两个属性是私有属性。属性不再是公用的,如果想通过点记法访问wheelCount属性的值,如下:
var numberOfWheels = vehicle.wheelCount;就会返回undefined,而不是wheelCount实际的值。
由于属性现在是私有的,因此需要提供能访问这些属性的公用函数。getWheelCount、setWheelCount、getCurbWeightInPounds和setCurbWeightInPounds函数就是作此使用的。现在Vehicle对象可以保证只能通过公用函数访问私有属性,因此满足了信息隐藏的概念。
5.7.3 JavaScript中基于类的继承
JavaScript中基于prototype的继承机制可以很好地工作,但是对于一些已经习惯于C++和Java等语言中基于类的继承机制的人来说,JavaScript的prototype继承机制不是一种自然的编程方法。如果你不想用基于prototype的继承,而想用一种基于类的继承方法,那就继续读下去吧。
Netscape的Bob Clary[4]也提出了一个方法,它可以使一个对象使用一个通用的脚本从另一个对象继承属性和函数。这个脚本只是将“父”对象的属性和函数简单地复制到“子”对象。为此,我们将说明如何对脚本稍加修改,从而只是将子对象中不存在的属性和函数复制到子对象;这样一来,子对象中的函数就能覆盖父对象的函数。在两个对象之间创建继承关系的通用函数如下:
function createInheritance(parent, child) {
var property;
for(property in parent) {
if(!child[property]) {
child[property] = parent[property];
}
}
}
来源:CSDN 责编:豆豆技术应用
正在加载评论...