• λ我爱Aspx >> Asp.Net >> JavaScript中基于类的继承
  • JavaScript中基于类的继承

  • :未知  Դ:internet  :2007-5-20 16:46:54  ؼ:javascript
  • JavaScript中基于prototype的继承机制可以很好地工作,但是有些人已经习惯于C++和Java等语言中基于类的继承机制,对于这些人来说,JavaScript的prototype继承机制不是一种自然的编程方法。如果你不想用基于prototype的继承,而想用一种基于类的继承方法,那就继续读下去吧。

    Netscape的Bob Clary也提出了一个方法,通过这种方法,一个对象可以使用一个通用的脚本从另一个对象继承属性和函数。这个脚本只是将“父”对象的属性和函数复制到“子”对象。为此,我们将说明如何对脚本稍加修改,从而只是将子对象中不存在的属性和函数复制到子对象;这样一来,子对象中的函数就能覆盖父对象的函数。在两个对象之间创建继承关系的通用函数如下:

    function createInheritance(parent, child) {

    var property;

    for(property in parent) {

    if(!child[property]) {

    child[property] = parent[property];

    }

    }

    }

    createInheritance函数有两个参数,父对象和子对象。这个函数只是迭代处理父对象的所有成员(成员就是属性或函数),如果某个成员在子对象中不存在,则复制到子对象。

    使用createInheritance函数相当简单:首先创建子对象的一个实例,然后使用createInheritance函数,为它传递子对象以及父对象的一个实例,如下:

    var child = new Child();

    createInheritance(new Parent(), child);

    父对象中有而子对象中没有的所有属性和方法将复制到子对象。

    Ҷƪл˵?
  • һƪJavascript综合使用
    һƪ私有属性和使用JavaScript的信息隐藏