typescript 中 class 的继承
typescript 中 class 的继承
程序员朱永胜背景
在 TypeScript 中,类(class)是面向对象编程的核心特性之一。通过继承,你可以创建一个新类,该类从现有类中继承属性和方法,从而实现代码重用和功能扩展。
Class 继承基础
在 TypeScript 中,使用 extends
关键字来实现类的继承。
1 | class Animal { |
参数说明
name
: 动物的名称。distance
: 移动的距离,默认为 0。
注意点
- 子类不能访问父类的私有成员。
- 构造函数在子类中必须调用
super()
。
类型保护与多态
通过继承,你可以使用多态,以便同一个方法可以对不同类型的对象进行操作。类型保护可以确保在运行时安全地访问子类特定的方法或属性。
1 | function isDog(animal: Animal): animal is Dog { |
类与接口对比
特性 | 类 (class) | 接口 (interface) |
---|---|---|
实现 | 描述和实现 | 描述 |
多继承 | 不支持 | 支持 |
方法体 | 可以有 | 没有 |
原因
- 代码重用:避免重复代码。
- 结构化设计:更好地组织代码,通过层次结构表示概念关系。
- 多态支持:允许用统一接口处理不同类型对象,提高灵活性。