Extjs定义类的配置项

      //定义一个类
Ext.define('Person',{
config:{
name:'李四'
},
constructor:function(config){
    var me =this;
    me.initConfig(config);
},
//statics  定义类的配置项,属性不能被子类继承
statics:{
          id:"我是Person的id,属于静态代码,不能被继承"    
    },
    //而inheritableStatics :与static类似,但是属性可以被子类继承
inheritableStatics:{
 code:"我也是静态代码,但是我可以被继承"
}
});
Ext.define('Boy',{
alias:'bb',//起一个别名
alternateClassName:'bbb',//起一个备用的别名
   extend:'Person',//继承
config:{
 sex:'男',
 age:23
},
constructor:function(config){
  var me=this;
  me.initConfig(config);
}
});

var p= Ext.create('bbb',{
   name:'张三',
   age:12,
   sex:'男'
});
//注意!!!!实例对象是无法使用静态属性或者放、方法的,必须通过类名来调用
//alert(p.id);//undefined
//alert(p.code);
//alert(Person.id);
//alert(Person.code);
alert(Boy.id);
alert(Boy.code);
alert(p.name);
alert(p.sex);

alert(p.age);

//mixins:混入的概念,类似于多继承

//定义一个类
Ext.define('Person',{
  config:{
     saySong:function(){
        alert("我可以唱歌");
     }
  }
});
  Ext.define("Boy",{
       config:{
        saySing:function(){
          alert("我可以说唱");
        }
       }
  });

  Ext.define("Gril",{
       
    mixins:{
        sing:"Person",
        song:"Boy"
    }
       
  });
  
var gril=Ext.create('Gril');
gril.saySong();//我可以唱歌
gril.saySing();//我可以说唱


Ext.define 方法创建一个类使用到结束的过程(每一个类都会经历红色代码的过程)

1、开始(new)---->classname(类的名字)---->Loader(加载器)------>Extend(继承,如果没有配置继承,默认继承Ext.Base)----->。。。。。其他配置项



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值