javascript繼承之構(gòu)造函數(shù)繼承(二)

構(gòu)造函數(shù)繼承也就是也用構(gòu)造函數(shù),也可以說是偽造對象或經(jīng)典繼承
思想很簡單:在子類型構(gòu)造函數(shù)的內(nèi)部調(diào)用超類型構(gòu)造函數(shù)

  • 創(chuàng)建構(gòu)造函數(shù)
function Car(master,color){
    this.master = master;
    this.color = color;
}
# 創(chuàng)建原型鏈方法
Car.prototype.changeColor = function(color){
    this.color = color;
}
  • 創(chuàng)建Audi子構(gòu)造函數(shù),并且繼承Car構(gòu)造函數(shù)
function Audi(){
    Car.apply(this,arguments);
}
  • 創(chuàng)建Audi原型鏈方法
Audi.prototype.getMessage = function(){
    return this.master + "有一輛"+this.color+"的奧迪";
}
  • 實例繼承測試
var car1 = new Audi("car1Master","黑色");
var car2 = new Audi("car2Master","白色");
console.log(car1.getMessage());
// 結(jié)果:car1Master有一輛黑色的奧迪

console.log(car2.getMessage());
// 結(jié)果:car2Master有一輛白色的奧迪

注意:Car超類構(gòu)造函數(shù)的原型有一個changeColor方法,Audi繼承了Car,那么對于Audi來說,原型的方法是不可見的,因此函數(shù)的復用就無從談起了

好處:對于原型鏈繼承來說,構(gòu)造函數(shù)繼承可以向超類構(gòu)造函數(shù)中傳遞參數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • ??面向?qū)ο螅∣bject-Oriented,OO)的語言有一個標志,那就是它們都有類的概念,而通過類可以創(chuàng)建任意...
    霜天曉閱讀 2,266評論 0 6
  • 繼承是 OO 語言中的一個最為人津津樂道的概念。許多 OO 語言都支持兩種繼承方式:接口繼承 和 實現(xiàn)繼承。接口繼...
    threetowns閱讀 497評論 0 0
  • 123.繼承 一個類可以從另外一個類繼承方法,屬性和其他特征。當一個類繼承另外一個類時, 繼承類叫子類, 被繼承的...
    無灃閱讀 1,501評論 2 4
  • 一、配置文件詳解 在RHEL或者CentOS等Redhat系的Linux系統(tǒng)里,跟網(wǎng)絡有關(guān)的主要設置文件如下: /...
    FiveStrong閱讀 1,881評論 0 3
  • 不知道從什么時候起,每次外出,無論看到何種景象,都會在心里默默吐槽百遍,好像全世界都欠我一個說法。有小情侶親熱,冷...
    野蠻生長的南方姑娘閱讀 279評論 0 0

友情鏈接更多精彩內(nèi)容