L.Class

L.Class用来新建一个自己的类或者扩展已有的类

L.Class_第1张图片
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");

你可能感兴趣的:(L.Class)