• ExtJs006类别名、备用名


    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    //当前的类就被当做一个单例对象
        });
        */
    
      
    
    
    
    })
  • 相关阅读:
    Java多线程系列目录(共43篇)
    Java 集合系列目录(Category)
    Floyd算法(三)之 Java详解
    Floyd算法(二)之 C++详解
    Floyd算法(一)之 C语言详解
    Dijkstra算法(三)之 Java详解
    Dijkstra算法(二)之 C++详解
    Dijkstra算法(一)之 C语言详解
    Prim算法(三)之 Java详解
    Prim算法(二)之 C++详解
  • 原文地址:https://www.cnblogs.com/liudehua0/p/5911670.html
Copyright © 2020-2023  润新知