L.Class用来新建一个自己的类或者扩展已有的类
示例代码
var MyClass = L.Class.extend({
// 构造函数
initialize: function (greeter) {
this.greeter = greeter;
},
// 配置参数
options: {},
// includes可以把已有的对象作为类的方法或属性自动包含进去
includes: MyMixin
// 自定义方法
greet: function (name) {
alert(this.greeter + ', ' + name)
}
});
// 扩展已有类的构造函数(开发插件常用到此方法)
MyClass.addInitHook(function () {
// ... do something in constructor additionally
// e.g. add event listeners, set custom properties etc.
});
var MyMixin = {
foo: function () { ... },
bar: 5
};
// 创建一个子类,继承于该类
var MyChildClass = MyClass.extend({
// 子类的option会合并覆盖父类option
options: {},
// 可以自定义新的方法
// includes可以把已有的对象作为类的方法或属性自动包含进去
includes: MyMixin
});
// 创建一个实例,传参数进去
var bigA = new MyClass("Hello");
var sonA = new MyClass("Hello");
sonA instanceof MyChildClass; // true
sonA instanceof MyClass; // true
// 调用自定义方法
bigA.greet("World");
// 调用父类自定义方法
sonA .greet("World");