Dojo的declare接口

declare(classname,[],{})

    declare的第一个参数是可选的,代表类的名称

    declare的第二个参数代表类的继承关系,比如继承哪一个父类,可以看到:第二个参数是一个数组,所以dojo可以多继承

    第三个参数是一个对象,代表类的主体。

例如:

var Person=declare("namespace.Person", null, {
        name:null,
        age:null,
        constructor: function(name,age){
                this.name=name;
                this.age=age;
        }
});

实例化这个类时:var p=new Person("wpx",20);

当类中的属性特别多时,可以这样声明一个类:

var Person=declare("namespace.Person", null, {
        name:null,
        age:null,
        constructor: function(args){
            declare.safeMixin(this,args);
        }
});

实例化这个类时候:

var p=new namespace.Person({

        name:"wpx",

        age:20

});

/*safeMixin(),这是 dojo/declare 里面定义的一个接口方法,专门用于在已有类中加入额外的方法。它的功能和 lang.mixin 相同,但是它除了做方法或者属性的合并外,还能保证并入的方法与 declare 定义的类的兼容。*/

参考文章:

http://dojotoolkit.org/reference-guide/1.10/dojo/_base/declare.html#dojo-base-declare-safemixin

 

原文地址:https://www.cnblogs.com/qicao/p/7594966.html