js面向?qū)ο笾M合繼承

首先先上一段代碼

function SuperType(name) {
    //父函數(shù)的自定義屬性
    this.name = name;
    this.colors = ["red","orange","black"];
};

SuperType.prototype.sayName = function() {
     //父函數(shù)原型中定義的方法
    console.log(this.name);
};

//定義子函數(shù)
function SubType (name,age) {
    //子函數(shù)繼承父函數(shù)的屬性
    //借用構(gòu)造函數(shù)實現(xiàn)對實例屬性的繼承
    SuperType.call(this,name);    
    //子函數(shù)定義自己的屬性
    this.age = age;
}

//子函數(shù)繼承父函數(shù)的方法
//通過原型鏈對原型屬性和方法的繼承
SubType.prototype = Object.create(SuperType.prototype);
    //下面注釋的這種寫法子類會具有父類實例的方法,不推薦
    //SubType.prototype = new SuperType();
SubType.prototype.constructor =SubType;

//自定義子函數(shù)的方法
SubType.prototype.sayAge = function() {
    console.log(this.age);
}

//測試
var instance1 = new SubType("LLL","24");
instance1.colors.push("pink");
console.log(instance1.colors);//"red,orange,black,pink"
instance1.sayName;//"LLL"
instance1.sayAge;//"24"

//測試2
var instance2 = new SubType("XXX","25");
console.log(instance2.colors);//"red,orange,black"
instance2.sayName;//"XXX"
instance2.sayAge;//"25"

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,938評論 25 709
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,953評論 2 59
  • 一、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡單分配策略的問題地址空間不隔離內(nèi)存使用效率低程序運行的地址不確定 關(guān)于...
    SeanCST閱讀 8,118評論 0 27
  • 古有“一寸光陰一寸金,寸金難買寸光陰”之說;今有“時間就是金錢,時間就是生命”的教誨。這些話鐵骨錚錚,擲地有聲,壓...
    王家老四1閱讀 472評論 0 1
  • 五月 不懂帶傘 文/高保民 一地槐花,雪的樣子 落在那里,占了 我的腳應(yīng)該停留的地方 風(fēng)來,堆起記憶 雨也來了 ...
    綠水流長閱讀 334評論 0 6

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