? javascript 創(chuàng)建一個構(gòu)造函數(shù)來定義類
? 然后通過 prototype 來擴展
下面我們通過javascript? 構(gòu)造一個人類
//相當于java 中的構(gòu)造函數(shù)
person=function(name,address){
this.name=name;
this.age=22;
this.address=address;
};
//相當 java 中的方法
person.prototype={
sayHi:function(){
alert("大家好我的名字是"+this.name+"我今年"+this.age+"我來自"+this.address);
}
};
prototype 是javascript 中非常重要的一個功能 能動態(tài)為對象添加方法? 所以非常重要? 而強大的EXT 就是基于它實現(xiàn)了OOP機制
ok 接下來咱們看看EXT 是如何實現(xiàn)的
命名空間(namespace)? java 所指的包 C#中也叫命名空間 哈哈?? 都一樣啦..(中國詞語 博大精深 沒有想到外國 也整的這么有生聲色? 無語.........)
繼續(xù)正題
EXT?? 創(chuàng)建命名空間是通過
Ext.namespace("com.xh.test");//com.xh.test 表示你要寫的命名空間名字
知道java 為什么會出名的 同志們都知道? java 會有 繼承 封裝 多態(tài)
當然咱們的EXT 也不例外
一個類 應該 有 公有 (public )私有? (private) 成員? 可以被重寫? 可以派生出子類來? 咱們看看EXT 是如何實現(xiàn)的...
//創(chuàng)建一個命名空間
Ext.namespace("com.xh.test");
com.xh.test.Person=function(){
var name="哥叫小賀";
return {
callBrother:function(){
alert("小賀你好阿...");
},
sayHi:function(){
alert("大家好! 哈哈...");
}
}
};
//這段代碼 定義一個 匿名 函數(shù)? 定義了一個局部變量 name 當然外部不能訪問這個變量
繼承javascript 本身是不提供支持的? 但是? 咱們要實現(xiàn) 其實一點都不難的......
var extend=function(superCls,extendsCls){
extendsCls.prototype=superCls.prototype;
};
夠簡單吧 至今計算機最強大的功能是什么知道 那就copy 和粘貼?? 所有javascript 通過這個強大的功能解決了 繼承問題
咱們在看看EXT 是怎么實現(xiàn)的
? //創(chuàng)建一個 子類?
? com.xh.test.person=function(){
//調(diào)用父類的構(gòu)造函數(shù)
com.xh.test.person.superclass.constuctor.apply(this);
}:
//繼承父類 com.xh.test.superClass
Ext.extends(com.xh.test.person,com.xh.test.superClass){
//加一個方法
sleep:function(){
alert("今天哥哥我好累要睡覺了哦..");
},
//這里可以添加重寫父親的方法
};
EXT 實在是太帥了....只要你想的到? 你都可以通過EXT 搞定
Combox 放一顆樹 show 一下
? 然后通過 prototype 來擴展
下面我們通過javascript? 構(gòu)造一個人類
//相當于java 中的構(gòu)造函數(shù)
person=function(name,address){
this.name=name;
this.age=22;
this.address=address;
};
//相當 java 中的方法
person.prototype={
sayHi:function(){
alert("大家好我的名字是"+this.name+"我今年"+this.age+"我來自"+this.address);
}
};
prototype 是javascript 中非常重要的一個功能 能動態(tài)為對象添加方法? 所以非常重要? 而強大的EXT 就是基于它實現(xiàn)了OOP機制
ok 接下來咱們看看EXT 是如何實現(xiàn)的
命名空間(namespace)? java 所指的包 C#中也叫命名空間 哈哈?? 都一樣啦..(中國詞語 博大精深 沒有想到外國 也整的這么有生聲色? 無語.........)
繼續(xù)正題
EXT?? 創(chuàng)建命名空間是通過
Ext.namespace("com.xh.test");//com.xh.test 表示你要寫的命名空間名字
知道java 為什么會出名的 同志們都知道? java 會有 繼承 封裝 多態(tài)
當然咱們的EXT 也不例外
一個類 應該 有 公有 (public )私有? (private) 成員? 可以被重寫? 可以派生出子類來? 咱們看看EXT 是如何實現(xiàn)的...
//創(chuàng)建一個命名空間
Ext.namespace("com.xh.test");
com.xh.test.Person=function(){
var name="哥叫小賀";
return {
callBrother:function(){
alert("小賀你好阿...");
},
sayHi:function(){
alert("大家好! 哈哈...");
}
}
};
//這段代碼 定義一個 匿名 函數(shù)? 定義了一個局部變量 name 當然外部不能訪問這個變量
繼承javascript 本身是不提供支持的? 但是? 咱們要實現(xiàn) 其實一點都不難的......
var extend=function(superCls,extendsCls){
extendsCls.prototype=superCls.prototype;
};
夠簡單吧 至今計算機最強大的功能是什么知道 那就copy 和粘貼?? 所有javascript 通過這個強大的功能解決了 繼承問題
咱們在看看EXT 是怎么實現(xiàn)的
? //創(chuàng)建一個 子類?
? com.xh.test.person=function(){
//調(diào)用父類的構(gòu)造函數(shù)
com.xh.test.person.superclass.constuctor.apply(this);
}:
//繼承父類 com.xh.test.superClass
Ext.extends(com.xh.test.person,com.xh.test.superClass){
//加一個方法
sleep:function(){
alert("今天哥哥我好累要睡覺了哦..");
},
//這里可以添加重寫父親的方法
};
EXT 實在是太帥了....只要你想的到? 你都可以通過EXT 搞定
Combox 放一顆樹 show 一下

更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
