您的位置:首页 > Web前端 > JavaScript

Extjs定义类的配置项

2015-11-07 14:51 549 查看
      //定义一个类
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)----->。。。。。其他配置项
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: