这里用的是ext core3.0,ext中用ext.extend来定义一个类(当然它更多用来扩展一个类),ext整个框架各种控件如panel,messagebox等都是用ext.extend方法来扩展。这里仅仅用它来定义一个最简单的类。
看ext.extend的代码可得知,它仍然是用构造函数和原型来组装一个类。
这里只需传两个参数即可,第一个参数是根类object,第二个是原型。
复制代码 代码如下:
/**
* person类
* @param {object} name
*/
var person = ext.extend(object,{
constructor : function(name) {this.name = name;},
setname : function(name) {this.name = name;},
getname : function() {return this.name;}
});
//创建一个对象
var p = new person(lily);
console.log(p.getname());//lily
p.setname(andy);
console.log(p.getname());//andy
//测试instanceof及p.constructor是否正确指向了person
console.log(p instanceof person);//true
console.log(p.constructor == person);//true
比较特殊的是,如果单纯的定义一个类,那么第一个参数永远传object即可。
