| 类的创建 prototype.js已经封装好了,这个很简单。 var Person=Class.create(); 这样就创建了一个Person类,这个Person类必须提供initialize方法的实现: Person.prototype={ initialize:function(){ } }; 对比java,Class.create相当于Class.forName(),initialize相当于构造器,和java的构造器一样,可以自定义为带参数性质的。 可以看到在使用这样的方式定义class后,它和javascript原来的通过function方式来定义一个类就有明确的区分了,在这种情况下我们就可以用Class.create来定义类,用function来直接定义函数。 类通常还涉及静态成员(static性质的)和实例成员(需要实例化才可调用)的定义。 在javascript中这点也非常容易: 静态成员: var Person={ name:'person', getName:function(){return 'person'} }; 实例成员: Person.prototype={ childname:'child', eat:function() } 上面的Person.getName是可以直接这么调用的,但eat方法则需通过var person=new Person();person.eat();的方式来调用。 2、类的继承 类的继承其实javascript本身就支持的,不过prototype提供了一种另外的方法。 按照javascript的支持的实现:
|
| |