Ext學習筆記2-物件導向
6-EXT中的類繼承
--對類的一種擴充套件形式
Ext.namespace('Ext.wang'); //名稱空間
//Person類
Ext.wang.Person = function(_cfg){ //構造方法
Ext.apply(this, _cfg);
}
Ext.apply(Ext.wang.Person.prototype,{
job:'無',
print:function(){
alert(String.format("姓名:{0},性別:{1},角色:{2}",this.name,this.sex,this.job));
}
});
//學生類
Ext.wang.Student = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Student,Ext.wang.Person,{
job:"學生" //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
}); //這裡的{job:"學生"}為屬性重新設定,或方法重寫
//老師類
Ext.wang.Teacher = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
job:"老師" //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
}); //這裡的{job:"學生"}為屬性重新設定,或方法重寫
//測試
var _teacher = new Ext.wang.Teacher({name:"王五",sex:"男"});
_teacher.print();
var _student = new Ext.wang.Student({name:"蘇菊",sex:"女"});
_student.print();
7-EXT中的類例項方法重寫
--子類在繼承父類時對其已經存在的方法進行重新定義
/// <reference path="../ext/vswd-ext_2.0.2.js" />
Ext.namespace('Ext.wang'); //名稱空間
//Person類
Ext.wang.Person = function(_cfg){ //構造方法
Ext.apply(this, _cfg);
}
Ext.apply(Ext.wang.Person.prototype,{
job:'無',
print:function(){
alert(String.format("姓名:{0},性別:{1},角色:{2}",this.name,this.sex,this.job));
}
});
//學生類
Ext.wang.Student = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Student,Ext.wang.Person,{
job:"學生" //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
}); //這裡的{job:"學生"}為屬性重新設定,或方法重寫
//老師類
Ext.wang.Teacher = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
job:"老師", //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
print:function(){ //方法重寫
alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
}
});
//測試
var _teacher = new Ext.wang.Teacher({name:"王五",sex:"男"});
_teacher.print();
var _student = new Ext.wang.Student({name:"蘇菊",sex:"女"});
_student.print();
8-Ext中名稱空間的別名
--對於名稱空間的別稱
示例:
Wq = Ext.wang; //規則:別名首字母必須大寫,其他字母可以小寫
完整示例:
Ext.namespace('Ext.wang'); //名稱空間
Ws = Ext.wang; //名稱空間別名
//Person類
Ext.wang.Person = function(_cfg){ //構造方法
Ext.apply(this, _cfg);
}
Ext.apply(Ext.wang.Person.prototype,{
job:'無',
print:function(){
alert(String.format("姓名:{0},性別:{1},角色:{2}",this.name,this.sex,this.job));
}
});
//學生類
Ext.wang.Student = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Student,Ext.wang.Person,{
job:"學生" //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
}); //這裡的{job:"學生"}為屬性重新設定,或方法重寫
//老師類
Ext.wang.Teacher = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
job:"老師", //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
print:function(){ //方法重寫
alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
}
});
//測試
var _teacher = new Ws.Teacher({name:"王五",sex:"男"});
//用了名稱空間別名
_teacher.print();
var _student = new Ws.Student({name:"蘇菊",sex:"女"}); //用了名稱空間別名
_student.print();
9-EXT中的類別名
--對於類的別名
PN = Ext.wang.Person; //類別名的命名規範:必須都為大寫 ,為了和名稱空間別名區別
完整示例程式碼:
Ext.namespace('Ext.wang'); //名稱空間
Ws = Ext.wang; //名稱空間別名
//Person類
Ext.wang.Person = function(_cfg){ //構造方法
Ext.apply(this, _cfg);
}
Ext.apply(Ext.wang.Person.prototype,{
job:'無',
print:function(){
alert(String.format("姓名:{0},性別:{1},角色:{2}",this.name,this.sex,this.job));
}
});
//學生類
Ext.wang.Student = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Student,Ext.wang.Person,{
job:"學生" //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
}); //這裡的{job:"學生"}為屬性重新設定,或方法重寫
STU = Ext.wang.Student; //類別名
//老師類
Ext.wang.Teacher = function(_cfg){ //構造方法
Ext.apply(this,_cfg);
}
Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
job:"老師", //Ext.extend(子類,父類,方法或屬性重寫)方法中有三個引數:
print:function(){ //方法重寫
alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
}
});
TCH = Ext.wang.Teacher; //類別名
//測試
var _teacher = new TCH({name:"王五",sex:"男"}); //應用了類別名
_teacher.print();
var _student = new STU({name:"蘇菊",sex:"女"}); //應用了類別名
_student.print();
相關文章
- 【python 物件導向】 python物件學習筆記《1》Python物件筆記
- Python 3 學習筆記之——物件導向Python筆記物件
- Flutter學習筆記(8)--Dart物件導向Flutter筆記Dart物件
- Python學習筆記|Python之物件導向Python筆記物件
- js高階 物件導向 學習筆記JS物件筆記
- 物件導向筆記物件筆記
- Python 學習筆記之類「物件導向,超類,抽象」Python筆記物件抽象
- Python 物件導向筆記Python物件筆記
- 程式設計基礎·Java學習筆記·物件導向(下)程式設計Java筆記物件
- Python3:物件導向程式設計學習筆記(2)Python物件程式設計筆記
- Go 筆記之物件導向Go筆記物件
- 學習Rust 物件導向Rust物件
- C#學習筆記(六)——物件導向程式設計簡介C#筆記物件程式設計
- (Java筆記)物件導向基礎Java筆記物件
- Ext2.x學習筆記筆記
- PHP學習4——物件導向PHP物件
- Lua學習(二)物件導向物件
- 11-物件導向-2-三大特性物件
- [筆記]物件導向的程式設計筆記物件程式設計
- Java課堂筆記(二):物件導向Java筆記物件
- 《JavaScript 物件導向精要》 讀書筆記JavaScript物件筆記
- C#學習筆記(一)--- 物件導向的思想和類的定義、物件的建立C#筆記物件
- 菜鳥學習筆記:Java基礎篇1(基礎語法、物件導向)筆記Java物件
- Cris 的 Scala 筆記整理(七):物件導向筆記物件
- python第五次筆記---物件導向Python筆記物件
- Python學習筆記 9.0 模組 與 包 與 物件導向版學員管理系統Python筆記物件
- java學習——物件導向之繼承Java物件繼承
- Promise 物件學習筆記Promise物件筆記
- 物件導向-物件導向思想物件
- 《Fluid Engine Development》 學習筆記2-基礎UIdev筆記
- Python學習之物件導向程式設計Python物件程式設計
- Cris 的 Scala 筆記整理(九):物件導向高階筆記物件
- Java小白進階筆記(5)-進階物件導向Java筆記物件
- JavaSE第三章筆記(物件導向1)Java筆記物件
- 【Go】Go語言學習筆記-2-函式Go筆記函式
- 學習筆記——物件方法整理筆記物件
- 3. Struct 與 物件導向 |《 刻意學習 Golang 》Struct物件Golang
- 大資料學習之路——java物件導向(二)大資料Java物件
- javascript 物件導向學習(三)——this,bind、apply 和 callJavaScript物件APP