有同學(xué)提問,能不能講講繼承,這一篇筆記就來深入說說繼承相關(guān)的內(nèi)容,包含了什么是繼承,JavaScript如何實(shí)現(xiàn)繼承,通過原型鏈實(shí)現(xiàn)繼承。
什么是繼承 ?JavaScript中如何通過原型鏈實(shí)現(xiàn)繼承 ?
以下我們先使用UML類圖來表示類的屬性和方法,用以舉例說明
UML(統(tǒng)一建模語言)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語言,是非專利的第三代建模和規(guī)約語言。
UML是面向?qū)ο笤O(shè)計(jì)的建模工具,獨(dú)立于任何具體程序設(shè)計(jì)語言。
以下兩個(gè)無關(guān)的類:我們發(fā)現(xiàn),People類 和 Car類 沒有任何

People類和Student類的關(guān)系:我們發(fā)現(xiàn),Student是一種 People

People類擁有的屬性和方法Student類
都有,Student類還擴(kuò)展了一些屬性和方法Student
“是一種”People,兩類之間是“is a kind of ”關(guān)系這就是
繼承關(guān)系:Student 類繼承自People類
1、什么是繼承
繼承描述了兩個(gè)類之間的 “ is a kind of ” 關(guān)系比如:學(xué)生“是一種”人,所以人類和學(xué)生類之間就構(gòu)成繼承關(guān)系People是 "父類"(或 "超類"、”基類“)Student是 ”子類“(或 ”派生類“)子類豐富了父類,讓類描述得更具體、更細(xì)化。

在UML圖示中使用白色的空心箭頭來表示類和類之間的繼承關(guān)系箭頭的方向是由子類指向父類這樣的表達(dá)方式就是繼承
更多的繼承關(guān)系舉例
| 父類 | 子類 |
| People | Student、Teacher |
| Vehicle | Car、Truck、Motorcycle |
| Appliance | Television、Refrigerator |
| Publication | Book、Magazine |
2、JavaScript中如何實(shí)現(xiàn)繼承?
實(shí)現(xiàn)繼承的關(guān)鍵在于:子類必須擁有父類的全部屬性和方法,同時(shí)子類還應(yīng)該能定義自己特有的屬性和方法
使用JavaScript特有的原型鏈特性來實(shí)現(xiàn)繼承,是普遍的做法
在今后學(xué)習(xí)ES6時(shí),將介紹新的實(shí)現(xiàn)繼承的方法
3、 通過原型鏈實(shí)現(xiàn)繼承



當(dāng)然還有在ES6中如何實(shí)現(xiàn)繼承,后續(xù)有需求了再分享 !大家也可以踴躍提問哈 ,一起加油 _我們學(xué)的不僅是技術(shù),更是夢(mèng)想 !因?yàn)閻?,所以認(rèn)真 。如有相關(guān)前端方面的技術(shù)問題 ,歡迎主頁(yè)添加我,我會(huì)定期在群里給大家分享最新技術(shù)和解答問題 。