首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

精通Javascript 之 承继

2012-09-21 
精通Javascript 之 继承原型式继承 原型式继承类于一种单继承,它利用prototype属性,prototype可以整个复制

精通Javascript 之 继承
原型式继承

 原型式继承类似于一种单继承,它利用prototype属性,prototype可以整个复制一个对象,但是它不会从其他原型或者构造函数中继承属性,而属性都是从实际对象那里继承过来的。

        //创建一个新的构造函数为空的Person对象         var Person = Class.create();         //将下面的函数复制到Person的prototype中         Object.extend(Person.prototype, {             //这个函数由Person构造函数立即调用             initialize: function (name) {                 this.name = name;             },             //Person对象的简单函数             getName: function () {                 returnthis.name;             }         });         //创建一个构造函数为空的User对象         var User = Class.create();          //User对象继承了所有的父类的函数         User.prototype = Object.extend(new Person(), {             //将父类的初始化函数重载为新的             initialize: function (name, password) {                 this.name = name;                 this.password = password;             },             //给这个对象添加一个新的函数             getPassword: function () {                 returnthis.password;             }         });          //看看我们创造出来的两个类吧         var person = new Person("Lisa");         var user = new User("Lisa", "123");

 Prototype确实只使用了两个简单的函数来创建和管理整个面向对象结构,这两个函数的出发点很简单:
 Class.create():整个函数仅仅使用一个匿名函数封装起来作为构造函数。这种简单的构造函数只做一件事情——调用并执行对象的initialize属性。如果对象中不包含initialize属性就会抛异常。
 Object.extend():这个只是把所有属性从一个对象复制到另一个对象。
 虽然这个技术很复杂,但是提供的面向对象需要的基本功能。

热点排行