EXT面向对象

1.命名空间
Ext.namespace(“Ext.dojochina”); java对照 package Ext.dojochina;

2.类实例属性:
Person.js
Ext.namespace(“Ext.dojochina”);
Ext.dojochina.Person=Ext.emptyFn;-----相当于function(){};
Ext.apply(Ext.dojochina.Person.prototype,{name:"青龙"});
页面应用:
var _person=Ext.dojochina.Person();
alert(_person.name);  输出默认name
_person.name="qinglonghai";
alert(_person.name);   输出设置name

3.类实例方法
Person.js
Ext.namespace(“Ext.dojochina”);
Ext.dojochina.Person=Ext.emptyFn;
Ext.apply(Ext.dojochina.Person.prototype,{
		name:"",
		sex:"",
		print:funcion(){
  			 alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
		}
});
页面应用:
var _person=Ext.dojochina.Person();
_person.name="";
_person.sex="";
_person.print();

4.类静态方法
Ext.namespace(“Ext.dojochina”);
Ext.dojochina.Person=Ext.emptyFn;
Ext.dojochina.Person.print=function(_name,_sex){
	var _person=new Ext.dojochina.Person();
	_person.name=_name;
	_person.set=_sex;
	_person.print();
}
Ext.apply(Ext.dojochina.Person.prototype,{
		name:"",
		sex:"",
		print:funcion(){
  			 alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
		}
});
页面调用
Ext.dojochina.Person.print("qing","man");

5.构造方法
Ext.namespace(“Ext.dojochina”);
Ext.dojochina.Person=function(_cfg){
	Ext.appy(this,_cfg);
};
Ext.dojochina.Person.print=function(name,sex){
	var _person=new Ext.dojochina.Person({name:name,sex:sex});
	return _person;
}
Ext.apply(Ext.dojochina.Person.prototype,{
	print:function(){
		alert(String.Format("姓名:{0},性别:{1}",this.name,this.sex));
	}
});

6.类继承
Ext.dojochina.Student=function(_cfg){
	Ext.apply(this,_cfg);
}
Ext.extend(Ext.dojochina.Student,Ext.dojochina.Person,{
	job:'学生'
	}
);

7.方法重写
Ext.dojochina.Student=function(_cfg){
	Ext.apply(this,_cfg);
}
Ext.extend(Ext.dojochina.Teacher,Ext.dojochina.Person,{
	print:function(){
		alert(String.Format("{0}",this.name));
	}
});

8:命名空间的别名
Dc=Ext.dojochina;
首字母必须大写

9.类别名
PN=Ext.dojochina.Person;
全大写

10.支持时间队列
由Ext.util.Observable类支持

你可能感兴趣的:(ext,prototype)