浏览 2283 次
锁定老帖子 主题:ExtJs 面向对象 特性
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-22
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類支持 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-31
gooooooooooooooood!
|
|
返回顶楼 | |