zoukankan      html  css  js  c++  java
  • Extjs面向对象的特性

    1、支持命名空间(Java里用的是包的概念)

     Ext.namespace("Ext.ling"); //这句话相当于声明了一个命名空间

    2、支持类实例属性
     Ext.apply(Ext.ling.Person.prototype,{
      name:"lingyibin"
     }); //给Person类添加了name属性,并赋了值。

    这里跟大家讲另一个东西,就是{ }和[ ]在js应用中的区别。

    前者表示一个类,后者表示一个数组。因为类里面都有属性名,所以前者的格式一般都是

    {property1:value1, property2:value2 ……}

    3、类的实例方法
     Ext.namespace("Ext.ling");
     Ext.ling.Person = Ext.emptyFn;
     Ext.apply(Ext.ling.Person.prototype,{
      name:"",
      sex:"",
      print:function(){
       alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
      }
     });
     使用:
     var person = new Ext.ling.Person();
     person.name = "ling";
     person.sex = "male";
     person.print();
    4、类的静态方法
     Ext.ling.Person.print = function(_name,_sex){
      var person = new Ext.ling.Person();
      person.name = _name;
      person.sex = _sex;
      person.print();
     }
    5、构造方法
     Ext.ling.Person = function(_cfg){
      Ext.apply(this,_cfg);
     } 

    Ext.ling.Person = function(_name,_sex){
      var person = new Ext.ling.Person({name:_name,sex:_sex});
      person.print();
     }
     Ext.apply(Ext.ling.Person.prototype,{
      print:function(){新款淘宝女装品牌
       alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
      }
     });
     使用:
              var p = new Ext.ling.Person({name:"ling",sex:"男"});
              p.print();

    6、类继承

    Ext.namespace("Ext.ling");

    Ext.ling.Person = function(_cfg){ //父类
        Ext.apply(this,_cfg);
    };

    Ext.apply(Ext.ling.Person.prototype, {
        job:"Jobless",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name, this.sex,this.job));
        }
    });
     Ext.ling.Teacher = function(_cfg){ //子类
        Ext.apply(this,_cfg);
     }
     Ext.extend(Ext.ling.Teacher,Ext.ling.Person, {job:"老师"}); //继承了父类,并给job赋了值

    7、重写
     Ext.extend(Ext.ling.Teacher,Ext.ling.person,{
      print:function(){
       alert("这个方法被我改写了!");
      }
     });

  • 相关阅读:
    python文件上传
    Django
    Python生产环境部署(fastcgi,uwsgi)
    tp3.2 自带的文件上传及生成缩略图功能
    图片上传--base64
    图片上传
    PHP处理大数据量老用户头像更新的操作--解决数据量大超时的问题
    mysql悲观锁处理赠品库存超卖的情况
    bzoj 3551: [ONTAK2010]Peaks加强版
    bzoj 4817: [Sdoi2017]树点涂色
  • 原文地址:https://www.cnblogs.com/sky7034/p/2045473.html
Copyright © 2011-2022 走看看