iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

從新手開始TypeScript系列 第 17

Day17-TypeScript(TS)的繼承(Inheritance)

  • 分享至 

  • xImage
  •  

今天要來介紹TypeScript(TS)的繼承(Inheritance),
這項在TS之中也是相當重要的一項功能,
同時這也是物件導向程式語言的優點之一,
所以當然的,JavaScript(JS)沒有這項功能,
要在JS寫繼承也是可以,
只是語法非常特殊,
要寫也是要花費一番工夫的呢。

那麼下面簡單講講一下繼承的特性吧。

  • 繼承類別可重複使用程式碼
  • 使用extends關鍵字來繼承其他類別
  • 子類別可繼承父類別的所有屬性與方法
    (成員存取修飾詞為private成員與建構函式除外)
  • TS不支援多重繼承

簡述JavaScript(JS)的繼承(Inheritance)

ES5(ECMAScript 5)通常採用Prototype Chaining方式來實作物件導向的繼承,
但是繼承的動作相當繁瑣。
ES6(ECMAScript 6,正式名稱ECMAScript 2015)讓繼承語法變得較為簡單,
新增一個
extends
關鍵字來指定要繼承的父類別,
這樣JS引擎會自動設定適當的Prototype,
接著還可以在子類別中使用super()方式來儲存父類別成員。

備註 :

年份 釋出 簡寫名稱 正式名稱
2009 ECMAScript 5 ES5 ECMAScript 2009
2015 ECMAScript 6 ES6 ECMAScript 2015
2016 ECMAScript 7 ES7 ECMAScript 2016
2017 ECMAScript 8 ES7 ECMAScript 2017

今日結語

今天先簡單帶大家認識一下**繼承(Inheritance)**的概念,
下篇則會帶大家用程式碼實作介紹,
加油加油。


上一篇
Day16-TypeScript(TS)在類別(Class)實作介面(Interface)
下一篇
Day18-TypeScript(TS)的類別(Class)繼承(Inheritance)
系列文
從新手開始TypeScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言