繼承

繼承是指一個對象直接使用另一對象的屬性和方法

  • 得到一個類的屬性
  • 得到一個類的方法

一判帮、原型鏈實現(xiàn)繼承

1壳繁、定義一個類
function Person(name,sex) {
    this.name=name;
    this.sex=sex;
}
Person.prototype.sayName = function(){
    console.log(this.name)
}
2、獲取屬性

對象屬性的獲取是通過構(gòu)造函數(shù)的執(zhí)行,在一個類中執(zhí)行另一個類的構(gòu)造函數(shù)棋凳,就可以把屬性賦值到自己內(nèi)部妇萄,但需要把環(huán)境改成自己的作用域內(nèi)

function Male(name,age,sex){
    Person.call(this,name,age);
    this.sex=sex;
}
3子寓、獲取方法

類的方法一般定義在prototype里面

需要注意的幾點:
  • 創(chuàng)建新的ptorotype,而不是直接把Person.proto賦值,因為引用關(guān)系滑废,會導(dǎo)致修改子類的proto也修改了父類的prototype

  • 對子類添加方法,必須在修改其prototype之后袜爪,在之前會被覆蓋

  • 此刻子類的constructor屬性指向不對蠕趁,需重新指定

關(guān)于手動指定對象的原型的幾種方法:

  • object.proto={...}
Man.prototype.__proto__ = Person.prototype//不兼容低版本IE
  • 借用new
//原型繼承
function Person(name, age){
  this.name = name
  this.age = age
}
Person.prototype.sayName = function(){
    console.log(this.name)
}
//讓Man 繼承Person
//1、繼承屬性:讓Person在Man里面執(zhí)行一遍
function Man (name, age, sex) {
  Person.call(this, name, age)
  this.sex = sex
}
//2辛馆、方法繼承
var xxx = function (){}
xxx.prototype = Person.prototype
Man.prototype = new xxx()
//3俺陋、修正constructor
Man.prototype.constructor = Man
var yyy = new Man()
console.dir(yyy)
  • 使用Object.create()
//1、繼承屬性:讓Person在Man里面執(zhí)行一遍
function Man (name, age, sex) {
  Person.call(this, name, age)
  this.sex = sex
}
//2昙篙、方法繼承
inherit(Person, Man)
function inherit(superType, subType) {
  var _prototype = Object.create(superType.prototype)
  _prototype.constructor = subType
  subType.prototype = _prototype
}
//3腊状、在繼承函數(shù)之后寫自己的方法,不然會被覆蓋
Man.prototype.saySex = function() {
  console.log(this.sex)
}
var yyy = new Man()
console.dir(yyy)

二瓢对、class繼承

class可以通過extends關(guān)鍵字實現(xiàn)繼承寿酌,比es5的通過修改原型鏈實現(xiàn)繼承胰苏,要清晰和方便硕蛹。

es5的繼承,實質(zhì)是先創(chuàng)造子類的實例對象this硕并,然后再將父類的方法添加到this上面法焰。

es6的繼承機(jī)制完全不同,實質(zhì)是先創(chuàng)造父類的實例對象this(所以必須先調(diào)用super)倔毙,然后再用子類的構(gòu)造函數(shù)修改this埃仪。

class Point {
  constructor(x,y){
    this.x=x;
    this.y=y;
  }
}

class ColorPoint extends Point {
  constructor(x,y,color) {
    super(x,y);//調(diào)用父類的constructor(x, y)
    this.color=color
  }
}
super
  • super作為函數(shù)調(diào)用時,代表父類的構(gòu)造函數(shù)陕赃。es6要求卵蛉,子類的構(gòu)造函數(shù)必須執(zhí)行一次super函數(shù)。
  • 此時么库,super雖然代表了父類的構(gòu)造函數(shù)傻丝,但返回的子類的實例
  • super作為函數(shù)時,只能用在子類的構(gòu)造函數(shù)中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诉儒,一起剝皮案震驚了整個濱河市葡缰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌忱反,老刑警劉巖泛释,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異温算,居然都是意外死亡怜校,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門注竿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茄茁,“玉大人宇智,你說我怎么就攤上這事∫榷。” “怎么了随橘?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锦庸。 經(jīng)常有香客問我机蔗,道長,這世上最難降的妖魔是什么甘萧? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任萝嘁,我火速辦了婚禮,結(jié)果婚禮上扬卷,老公的妹妹穿的比我還像新娘牙言。我一直安慰自己,他們只是感情好怪得,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布咱枉。 她就那樣靜靜地躺著,像睡著了一般徒恋。 火紅的嫁衣襯著肌膚如雪蚕断。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天入挣,我揣著相機(jī)與錄音亿乳,去河邊找鬼。 笑死径筏,一個胖子當(dāng)著我的面吹牛葛假,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滋恬,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼聊训,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了夷恍?” 一聲冷哼從身側(cè)響起魔眨,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酿雪,沒想到半個月后遏暴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡指黎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年朋凉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片醋安。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡杂彭,死狀恐怖墓毒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亲怠,我是刑警寧澤所计,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站团秽,受9級特大地震影響主胧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜习勤,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一踪栋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧图毕,春花似錦夷都、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荣瑟,卻和暖如春治拿,著一層夾襖步出監(jiān)牢的瞬間摩泪,已是汗流浹背笆焰。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留见坑,地道東北人嚷掠。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像荞驴,于是被迫代替她去往敵國和親不皆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容