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

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

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