09. TypeScript 中类的概念和使用
TypeScript 中类的概念和 ES6 中原生类的概念大部分相同,但是也额外增加了一些新的特性。我在这里会完全从一个新手的角度,讲解类的各项知识点。
类的基本使用
新建一个文件,叫做demo10.ts
,然后定义一个最简单的Lady
类,这里要使用关键字class
,类里边有姓名属性和一个得到姓名的方法,代码如下:
class Lady { content = "Hi,小哥哥"; sayHello() { return this.content; } } const goddess = new Lady(); console.log(goddess.sayHello());
写完代码后,可以使用ts-node demo10.ts
来查看一下结果。
这是一个最简单的类了,如果你有些编程经验,对这个一定很熟悉,工作中几乎每天都会用到。
类的继承
这里提前说一下 TypeScrip 的继承和ES6
中的继承是一样的。关键字也是extends
,比如我们这里新建一个XiaoJieJie
的类,然后继承自Lady
类,在XiaoJieJie
类里写一个新的方法,叫做sayLove
。具体代码如下:
class Lady { content = "Hi,小哥哥"; sayHello() { return this.content; } } class XiaoJieJie extends Lady { sayLove() { return "I love you"; } } const goddess = new XiaoJieJie(); console.log(goddess.sayHello()); console.log(goddess.sayLove());
类写好以后,我们声明的对象是XiaoJieJie
这个类,我们同时执行sayHello()
和sayLove()
都是可以执行到的,这说明继承起作用了。
类的重写
讲了继承,那就必须继续讲讲重写
,重写就是子类可以重新编写父类里边的代码。现在我们在XiaoJieJie
这个类里重写父类的sayHello()
方法,比如现在我们觉的叫的不够亲切,我们改成下面这个样子。
class XiaoJieJie extends Lady { sayLove() { return "I love you!"; } sayHello() { return "Hi , honey!"; } }
然后我们再次运行ts-node demo10.ts
来查看结果。
super 关键字的使用
我们再多讲一点,就是super
关键字的使用,比如我们还是想使用Lady
类中说的话,但是在后面,加上你好
两个字就可以了。这时候就可以使用super
关键字,它代表父类中的方法。那我们的代码就可以写成这个样子了。
class XiaoJieJie extends Lady { sayLove() { return "I love you!"; } sayHello() { return super.sayHello() + "。你好!"; } }
以上就是本文全部内容,通过这节我们至少要知道 TypeScript 中的类是如何定义和继承的。类中呢还有很多知识点要讲,这节先到这里,下节我们继续。
码云笔记 » 09. TypeScript 中类的概念和使用