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

今天要来介绍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 - 【概念篇】OAuth flows: Refresh Token

>>:  17 - Traces - 观察应用程序的效能瓶颈 (1/6) - Elastic APM 基本介绍

[13th][Day25] kubernetes & docker

为什麽会从 docker 聊到 k8s(kubernetes) 呢? 因为每个专案里面一定有 doc...

JS 45 - 是否要离开网站?可能无法储存您所做的变更。

大家好! 相信有挑战铁人赛的读者,应该都有这样的疑问: 为什麽关闭浏览器时,不会发出警告来阻止我呢?...

Day 23: 174. Dungeon Game

Day 23: 174. Dungeon Game Tag:每月挑战(2021.10.02) Sou...

【Day 14】MySQL Basics III:Transactions / Locks

昨天的崩溃文比平常文章更多点击 笑死 我还没更新.. transaction isolation ...

Rails入门:疑难杂症~~ 无情dubug!! 上传Heroku先从资料库开始 PostgreSQL

大家好,我是Sean,一位Rails初心者,第一次发文请大大们手下留情XD 受一位朋友RS启发,决定...