13 类与继承 🏫之基本用法

在上一章中,我们讨论了 TypeScript 中的函数与接口,以及如何通过接口为对象和函数的结构定义契约。这一章将深入探讨 TypeScript 中的类和继承基本用法,在这方面,TypeScript 赋予了我们强大的功能来创建可重用和可扩展的代码结构。

什么是类?

在 TypeScript 中,类是构造对象的蓝图。类可以包含属性和方法,并允许我们创建多个对象实例。通过类,我们可以更好地组织和管理我们的代码,使其更具模块化。

定义类

下面是一个简单的类的定义示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
class Person {
name: string;
age: number;

constructor(name: string, age: number) {
this.name = name;
this.age = age;
}

greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}

在上述代码中,Person 类包含两个属性:nameage,还有一个方法 greet 用于打印欢迎信息。构造函数 constructor 是一个特殊的方法,用于初始化对象的属性。

创建类的实例

我们可以使用 new 关键字来创建 Person 类的实例:

1
2
3
4
5
const person1 = new Person("Alice", 30);
const person2 = new Person("Bob", 25);

person1.greet(); // 输出: Hello, my name is Alice and I am 30 years old.
person2.greet(); // 输出: Hello, my name is Bob and I am 25 years old.

每个实例都有自己的属性值,彼此之间是独立的。

继承

继承是面向对象编程的重要特性之一,允许我们创建一个类,它可以从另一个类继承属性和方法。这使得代码复用变得更加容易。

创建基类和派生类

假设我们有一个基类 Person,我们想要创建一个 Employee 类来表示员工信息。我们可以通过继承来实现这一点:

1
2
3
4
5
6
7
8
9
10
11
12
class Employee extends Person {
employeeId: number;

constructor(name: string, age: number, employeeId: number) {
super(name, age); // 调用基类的构造函数
this.employeeId = employeeId;
}

display() {
console.log(`Employee ID: ${this.employeeId}`);
}
}

Employee 类中,我们使用 extends 关键字来继承 Person 类。constructor 方法中使用 super() 调用基类的构造函数,以确保基类的属性能够被正确初始化。

使用派生类

现在我们可以创建 Employee 的实例并使用它的方法:

1
2
3
const employee1 = new Employee("Charlie", 28, 101);
employee1.greet(); // 输出: Hello, my name is Charlie and I am 28 years old.
employee1.display(); // 输出: Employee ID: 101

在这个例子中,employee1 不仅能够访问 Person 类中的 greet 方法,还可以使用 Employee 类的 display 方法。

总结

在本章中,我们介绍了 TypeScript 中类与继承的基本用法。我们首先定义了一个简单的类,并学习了如何创建类的实例。随后,我们探讨了如何通过继承实现代码复用,通过创建基类和派生类来实现更多特性。

接下来,本系列教程的下一篇将深入探讨类的构造函数与属性,以及更多关于类的高级用法。通过掌握这些基础知识,我们将在后续的学习中可以更好地进行 TypeScript 的开发。

13 类与继承 🏫之基本用法

https://zglg.work/typescript-zero/13/

作者

AI免费学习网(郭震)

发布于

2024-09-14

更新于

2024-09-14

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论