TypeScript 面试题
目录

请解释类的继承 (Inheritance) 的用法。如何使用 extends 关键字实现继承?

· 约 4 分钟读完 · 第 31 / 256 章

推荐答案

在 TypeScript 中,类的继承是通过 extends 关键字来实现的。通过继承,子类可以继承父类的属性和方法,并且可以在子类中添加新的属性和方法,或者重写父类的方法。

在这个例子中,Dog 类继承了 Animal 类,因此 Dog 类的实例可以访问 Animal 类的 move 方法,同时也可以定义自己的 bark 方法。

本题详细解读

1. extends 关键字的作用

extends 关键字用于创建一个类作为另一个类的子类。子类继承了父类的所有属性和方法,并且可以在此基础上进行扩展或修改。

2. 继承的语法

  • ChildClass 是子类,ParentClass 是父类。
  • 子类可以访问父类的所有非私有(private)属性和方法。

3. 方法重写

子类可以重写父类的方法,即在子类中定义一个与父类同名的方法,这样子类的实例在调用该方法时会使用子类的实现。

在这个例子中,Cat 类重写了 Animal 类的 move 方法,使得 Cat 类的实例在调用 move 方法时,默认移动距离为 5 米。

4. 调用父类的方法

在子类中,可以使用 super 关键字来调用父类的方法或构造函数。

在这个例子中,Bird 类的 fly 方法调用了父类 Animal 的 move 方法。

5. 继承的限制

  • TypeScript 不支持多重继承,即一个类不能同时继承多个类。
  • 如果父类有构造函数,子类必须在构造函数中调用 super(),否则会报错。

通过 extends 关键字,TypeScript 提供了强大的继承机制,使得代码可以更好地组织和复用。