1.命名空間:
對類的定義方式
Extjs 代碼:
Ext.namespace("org.bestupon");
java代碼:
package org.bestupon
實例:
Ext.namespace("Ext.bestupon");
Ext.bestupon.Person = Ext.emptyFn;
/**
* Ext.bestupon.Person = function() {}
**/
2.類屬性
/*
* js 的類屬性
相當于Java代碼
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
private String sex;
public String getSex() {
return this.sex;
}
public void setSex(String sex) {
this.sex = sex;
}
*/
實例:
///js 代碼
Ext.apply(Ext.bestupon.Person.prototype,{
name :"BestUpon"
});
java代碼:
package Ext.bestupon
class Person{
private String name = "BestUpon";
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
/**
* 客戶端代碼要寫的越少越好,越多的話,要占用下載時間,
*/
3.類實例
ExtJs代碼
fn:function(){
alert(String.format("姓名:{0},性別:{1}",this.name,this.sex));
}
Java代碼:
public void fn() {
System.out.print("姓名:%s,性別:%s",this.name,this.sex);
}
實例:
Ext.apply(Ext.bestupon.Person.prototype,{
name:"",
sex:"",
fn:function() {
alert(String.format("姓名:{0},性別:{1}",this.name,this.sex));
}
});
4.類靜態方法:
在一個類級別上共享的方法
實例:
Extjs 代碼
Ext.bestupon.Person.fn = function(_name,_sex) {
var _person = new Ext.bestupon.Person();
_person.name = _name;
_person.sex = _sex;
_person.fn();//fn的實例
}
Java代碼:
Person.fn(String name,String sex) {
Persong person = new Person();
person.setName(name);
person.setSex(sex);
person.fn();
}
頁面調用:Ext.bestupon.Person("姓名","性別");
閑言碎語:工程話代碼;
5.類的構造方法
在初始話一個對象的同時執行的方法
代碼:
Ext.bestupon.Person = function(_cfg) {
Ext.apply(this,_cfg);
}
Java代碼:
Ext.bestupon.Person(String name,String sex){
this.name = name;
this.sex = sex;
}
實例:
Ext.bestupon.Person = function(_cfg) {
Ext.apply(this,_cfg);
};
Ext.bestupon.Person.fn = function(_name,_sex) {
var _person = new Ext.bestupon.Person({name:_name,sex:_sex});
_person.print();
}
Ext.apply(Ext.bestupon.Person.prototype,{
fn:function() {
alert(String.format("姓名:{0},性別:{1}",this.name,this.sex));
}
})
頁面調用:Ext.bestupon.Person("姓名","性別");
6.類繼承
Ext.extend(當前類,被繼承的類,{屬性:屬性值});
Ext.extend(Ext.bestupon.Student,Ext.bestupon.Person,{
job:"學生"
});
Java 代碼:
class Student extend Person{
public Student(String name,String sex){
super(name,sex);
this.setJob("學生");//this.job = "學生"
}
}
7.父類方法的重寫
/**
* 單純的繼承關系
* 重寫父類的方法
* @class Ext.bestupon.Student
* @extends Ext.bestupon.Person
*/
Ext.extend(Ext.bestupon.StudentReloadFn,Ext.bestupon.Person,{
job:"学生",
print:function() {
alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
}
});
Java代碼:
class StudentReloadFn extends Person {
public StudentReloadFn (String name,String sex){
super(name,sex);
this.setJob("學生");//this.job = "學生"
}
public void fn() {
System.out.print("%s是一位%s學生",this.name,this.sex);
}
}
8.空間的別名
要求,別名的第一個字母需要大寫
實例:
Ext.namespace(Ext.bestupon);
別名:Bu = Ext.bestupon
9.類別名:
類別名全是大寫:
PS = Ext.bestupon.Person
10.事件隊列
對于外界影響的反應
實現:Ext.util.Obervable類支持