1.引言
写一个Stapes 模型如下:
2.创建方法
这些方法用来帮助创建和扩展类或模块。这些术语在文档中可交换的。
subclass
Module.subclass([object])
stapes.subclass([object])
创建一个新的Stapes类,并且可以使用new对其进行实例化。
Note : Stapes 0.6.0之前创建一个新的模块最完美的方法是使用Stapes.create。从Stapes 0.7.0开始subclass。
对象增加一个constructor属性(当实例化类时,该对象就运行)。所有其他的属性就变成原型方法。使用extend可以增加静态方法。如果想为类的原型方法增加更多的属性,使用proto。
当一个Stapes类调用subclass时,可以扩展该类,该类将继承父类的所有属性。
Note :不适用任何参数就可以有效地调用subclass。这样的话,可以得到一个含有空构造函数的新类。
Note:如果一个模块调用subclass,子模块不能自动继承父类的构造函数。如果想继承父类的构造函数,可以这样设置subclass:
因为subclass建立原型链,instanceof能够正确地按照预期的工作。
所有模型能够自动地得到父类的一个属性,该属性能够链接返回父类的原型。可以使用这个覆盖新类的一个方法,但是仍然还可以调用父类的这个方法,像其他语言中的super。
选项classonly当设置成true时,那么新创建的类中没有任何事件或数据方法。能够得到所有的创建方法,可以继承类。使用classonly使得Stapes作为一个简单的函数类库。
extend
module.extend(object[,object...])
Stapes.extend(object)
通过给一个对象来扩展类实例属性。含有相对值得键将被重写。this将设置对象上下文。
使用extend实际上相当于直接给模块设置属性:
extend和proto均能够接受多个对象作为参数:
extend也用作配置属性
Stapes.extend()能够为所有的Stapes模块增加方法和属性。这有利于书写不在Stapes插件函数。
proto
Module.proto(object)
为模块增加原型方法和属性。
可以使用Stapes方法很容易地直接增加原型方法。如果之后想增加原型方法,可以使用proto。
proto和extend均能够接受多个对象作为参数。对于处理混合参数,很有用。
Event methods
on
module.on(eventName,handler,)