用EXT模擬面向?qū)ο蟮膉ava代碼
最近開始接觸AJAX框架―EXT了,學(xué)習(xí)之余,也將自己的心得記錄下來,就權(quán)當(dāng)是讀書筆記吧。其實之前總是不太適應(yīng)基于對象的javascript寫法,不過通過EXT框架,還是基本熟悉了面向?qū)ο蟮腏ava代碼,很基礎(chǔ),見下文。
1、namespace
EXT用命名空間來組織類定義,就好比c#的namespace或java的package。如定義pojo類的命名空間:
- Ext.namespace("Ext.domain");
- JAVA代碼對照:
- package Ext.domain;
2、類定義
同javascript一樣,用function定義類,(但是此處,還沒有說明構(gòu)造函數(shù)),
代碼如下:
- EXt.domain.Person = function() { } ;
3、類成員變量定義
可以用prototype來給某個類定義成員變量,既然是用prototype,就是非靜態(tài)的。Ext.apply是EXT框架提供的靜態(tài)的方法,可以完成這一定義。
代碼如下:
- Ext.apply(Ext.domain.Person.prototype,{name:"張三"});
- JAVA代碼對照:
- private String name = "張三";
- public void setName(String name) {this.name = name;}
- public String getName() {return this.name;}
4、類實例方法定義
代碼如下:
- Ext.apply(Ext.domain.Person.prototype,{
- getDetails : function(){
- alert(String.format("姓名:{0},年齡{1} ",this.name,this.age));
- }
- });
5、類靜態(tài)方法
代碼如下:
- Ext.domain.Person.getDetails = function(_name,_age){
- var _person = new Ext.domain.Person();
- _person.name = _name;
- _person.age = _age;
- alert(String.format("姓名:{0},年齡{1} ",_person.name,_person.age));
可以看到,用EXT可模擬面向?qū)ο蟮膉ava代碼,從而熟悉Java代碼。
【編輯推薦】