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