Ext 面向对象程序设计 入门篇

------ 命名空间

定义:对于类的组织定义方式
代码:
Ext.namespace("Ext.xgao");

------ 类实例属性

定义:对于一个实例的特征描述
代码:
Ext.apply(Ext.xgao.Person.prototype),
  name:"小高"
});

------ 类实例方法

定义:一个对象所能具有的功能与动作
代码:
print:fuction(){
  alert(String.format("姓名:{0},性别:{1}",this.name,this.sex))
}

------- 类静态方法

定义:在一个类级别上共享的方法,无需实例化就可用
代码:
Ext.xgao.print = function(_name){
  alert("大家好!我是"+_name);
}

-------- 构造方法

定义:在初始化一个对象的同时执行的方法
代码:
Ext.xgao.Person = function(_cfg){
  Ext.apply(this,_cfg);
}

-------- 类继承

定义:对于类的一种扩展形式
代码:
// Student 继承 Person
Ext.extent(Ext.xgao.Student,Ext.xgao.Person,{
job:"学生"
});

-------- 类实例方法重写

定义:子类在继承父类时对其已经存在的方法进行重新定义
代码:
// 以下是 重写 print 方法
Ext.extend(Ext.xgao.Teacher,Ext.xgao.Person,{
print:function(){
  alert(String.format("{0}是一位{1}老师!",this.name,this.sex));
}
});

--------- 命名空间别名

定义:对于命名空间的别称
代码:
// 首字母为大写
Xg = Ext.xgao;

--------- 类别名

定义:对于类的别称
代码:
// 全部为大写
PN = Ext.xgao.Person;

--------- 事件

定义:对于外界影响的反应,在ExtJS还支持事件队列模式,由Ext.util.ObServable类支持
代码:
// 创建事件
this.addEvents("nameChange", "sexChange");

// 触发事件
this.fireEvent("nameChange", this, this.name, _name);

// 事件方法实现
_person.on("nameChange", function (_person, _old, _new) {
  txt_name.dom.value = _new;
});