Ext.onReady(function () {
//Ext.define 其他配置项
//别名、备用名
Ext.define("User", {
config: {
name: 'hhh',
age:10
},
alias: 'uu',//起别名 底层代码在Ext.ClassManger
alternateClassName: 'uuu',//备用名字 和alias差不多 //给当前类一个备用名 底层代码在Ext.ClassManger
constructor: function (config) { //构造器
var me = this;
me.initConfig(config); //初始化配置
}
});
//var u = Ext.create('User');
var u1 = Ext.create('uuu'); //通过别名一样可以创建User类
//var u2 = Ext.create('uu');
alert(u1.getName()); //注意:这里的调用方式
alert(u1.getAge());
Ext.define('My.sample.Person', {
config: {
name: 'Mr. Unknown',
age: 0,
gender: 'Male'
},
alias: 'uu',//起别名 底层代码在Ext.ClassManger
alternateClassName: 'uuu', //给当前类一个备用名 底层代码在Ext.ClassManger
hhh:'aaa',
constructor: function (config) {
this.initConfig(config);
return this;
}
});
var u = Ext.create('My.sample.Person');
var u1 = Ext.create('uu');
var u2 = Ext.create('uuu');
alert(u2.config.name);
alert(u2.config.age);
alert(u2.hhh);
*/
//statics(子类不能继承) inheritableStatics(子类可以继承) 给当前类定义静态方法或属性
/*
Ext.define('Person', {
config: {
name:'父类'
},
statics: { //静态的方法或属性
static_id: '我是Person的id,不能被子类所继承!!'
},
inheritableStatics: { //静态的方法或属性
inheritableStatics_id: '我是Person的id,我可以被子类继承!!'
},
constructor: function (config) {
var me = this;
me.initConfig(config);
}
});
//一定注意:!!!!!//实例对象是无法使用静态属性或方法的
//var p = Ext.create('Person');
//alert(p.static_id);
//用类名去使用静态属性:!!!!
// alert(Person.static_id);
// alert(Person.inheritableStatics_id);
Ext.define('User', {
extend: 'Person',
config: {
age: 20
}
});
alert(User.static_id); //undefined
alert(User.inheritableStatics_id);
*/
/*
//mixins 混合的配置项,可以多继承的配置
Ext.define("Sing", {
canSing: function () {
alert('canSing方法,自定义');
}
});
Ext.define("Say", {
canSay: function () {
alert('canSay,,,');
}
});
Ext.define('User', {
mixins: {
sing: "Sing", //相当于继承Sing类,可以通过User调用Sing里面的方法
say:"Say"
}
});
var u = Ext.create("User"); //注意大小写
u.canSay();
u.canSing();
*/
//^_^伪代码说明: requires 和 uses 以及 singleton
/**
Ext.define('MyComponent',{
//可能需要Ext或者是其他的类做支持
//requires加载需要的类时机是:当前类初始化之前被加载
//requires:['Ext.window.Window','Ext.button.Button']
//uses加载需要的类时机是:当前类初始化之后被加载
//uses:['Ext.form.Panel','Ext.grid.Panel']
//singleton:true //当前的类就被当做一个单例对象
});
*/
})