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