JavaScript之物件導向的繼承淺析2
其他oop語言Java,C#,C++,PHP中的繼承
例如在PHP中的繼承:
<1> 物件的組成: 屬性、方法
<2> 繼承物件的屬性、方法
<3> 繼承步驟:先執行父級的建構函式;再新增自身的屬性和方法JavaScript中的繼承(只談組合繼承)
①屬性的繼承: 建構函式的偽裝 :.call() || .apply()②方法的繼承: 通過原型鏈
(父類例項化物件賦給子類原型物件 或 for-in迴圈 子類.prototype[i] = 父類.prototype[i])③ 注意:在子類繼承中,要先繼承父類,然後再用原型方法寫自己獨有的方法,不然後寫的話會覆蓋掉子類的方法。
//父類Person
function Person(name,sex){
this.name = name;
this.sex = sex;
}
Person.prototype.sayName = function(){
alert("My Name is " + this.name);
}
Person.prototype.saySex = function(){
alert("My Sex is " + this.sex);
}
//Worker子類繼承
function Worker(name,sex,job){
//此處用call方法來繼承Person類中的屬性,說穿了就是繼承name和sex
Person.call(this,name,sex);
//學名: 建構函式的偽裝!!!
this.job = job;
}
//此處直接通過原型繼承父級Person類中方法
//Worker.prototype = Person.prototype; 學名:原型鏈!注意:其中涉及了物件的引用,有問題
//如果用上述直接引用父類的話 會對父類造成影響,所以為了不影響父類,不能採用上述方法用for-in迴圈來做
for(var i in Person.prototype){
Worker.prototype[i] = Person.prototype[i];
}
//再新增自身(子類(Worker類))的方法
Worker.prototype.showJob = function(){
alert(this.job);
}
相關文章
- 《JavaScript物件導向精要》之五:繼承JavaScript物件繼承
- 物件導向之繼承物件繼承
- Javascript物件導向與繼承JavaScript物件繼承
- 物件導向之_繼承概念物件繼承
- JavaScript物件導向—繼承的實現JavaScript物件繼承
- Javascript實現物件導向繼承JavaScript物件繼承
- javascript的物件導向的繼承實現JavaScript物件繼承
- 物件導向:繼承物件繼承
- 物件導向--繼承物件繼承
- 物件導向-繼承物件繼承
- 21. 物件導向之繼承物件繼承
- 說清楚javascript物件導向、原型、繼承JavaScript物件原型繼承
- JavaScript物件導向 ~ 原型和繼承(1)JavaScript物件原型繼承
- JavaScript物件導向那些東西-繼承JavaScript物件繼承
- javascript物件導向繼承的簡單例項JavaScript物件繼承單例
- javascript物件導向繼承簡單介紹JavaScript物件繼承
- 物件導向 -- 三大特性之繼承物件繼承
- java學習——物件導向之繼承Java物件繼承
- Golang物件導向_繼承Golang物件繼承
- java物件導向繼承Java物件繼承
- php物件導向--繼承PHP物件繼承
- JavaScript之物件繼承JavaScript物件繼承
- JavaScript物件導向之二(建構函式繼承)JavaScript物件函式繼承
- Java中物件導向三大特性之繼承Java物件繼承
- Java物件導向03——三大特性之繼承Java物件繼承
- 淺析物件導向開發物件
- JavaScript(2)之——繼承JavaScript繼承
- javascript物件導向程式設計的建構函式的繼承JavaScript物件程式設計函式繼承
- 5-Java物件導向-繼承(下)Java物件繼承
- php物件導向多繼承實現PHP物件繼承
- Effective C++:物件導向與繼承C++物件繼承
- JAVA物件導向高階一:繼承Java物件繼承
- JavaScript 複習之 物件的繼承JavaScript物件繼承
- Javascript物件導向程式設計(二):建構函式的繼承JavaScript物件程式設計函式繼承
- 講清楚之 javascript 物件繼承JavaScript物件繼承
- javascript物件導向程式設計的非建構函式的繼承JavaScript物件程式設計函式繼承
- python物件導向的繼承-組合-02Python物件繼承
- JS的物件導向(理解物件,原型,原型鏈,繼承,類)JS物件原型繼承