跳到主要内容

TypeScript 类基础

介绍

TypeScript 是一种强类型的 JavaScript 超集,它引入了面向对象编程(OOP)的概念。类是面向对象编程的核心,它允许我们创建具有属性和方法的对象。通过类,我们可以更好地组织代码,使其更具可读性和可维护性。

在本节中,我们将学习 TypeScript 中类的基础知识,包括如何定义类、创建实例、使用构造函数以及类的属性和方法。

定义类

在 TypeScript 中,我们使用 class 关键字来定义一个类。类可以包含属性和方法。以下是一个简单的类定义示例:

typescript
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 方法。

创建实例

要使用类,我们需要创建它的实例。我们可以使用 new 关键字来创建类的实例,并传递必要的参数给构造函数:

typescript
const person = new Person("Alice", 30);
person.greet(); // 输出: Hello, my name is Alice and I am 30 years old.

在这个示例中,我们创建了一个 Person 类的实例,并调用了 greet 方法。

构造函数

构造函数是一个特殊的方法,它在创建类的实例时自动调用。构造函数的名称必须与类名相同,并且没有返回类型。我们可以使用构造函数来初始化类的属性:

typescript
class Person {
name: string;
age: number;

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

在这个示例中,构造函数接受两个参数 nameage,并将它们赋值给类的属性。

类的属性和方法

类的属性是类的状态,而方法是类的行为。我们可以通过实例访问类的属性和方法:

typescript
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.`);
}
}

const person = new Person("Bob", 25);
console.log(person.name); // 输出: Bob
person.greet(); // 输出: Hello, my name is Bob and I am 25 years old.

在这个示例中,我们访问了 person 实例的 name 属性,并调用了 greet 方法。

实际应用场景

假设我们正在开发一个简单的学生管理系统。我们可以使用类来表示学生,并定义一些方法来管理学生的信息:

typescript
class Student {
id: number;
name: string;
grade: string;

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

displayInfo() {
console.log(`Student ID: ${this.id}, Name: ${this.name}, Grade: ${this.grade}`);
}
}

const student1 = new Student(1, "Alice", "A");
const student2 = new Student(2, "Bob", "B");

student1.displayInfo(); // 输出: Student ID: 1, Name: Alice, Grade: A
student2.displayInfo(); // 输出: Student ID: 2, Name: Bob, Grade: B

在这个示例中,我们定义了一个 Student 类,并使用它来管理学生的信息。

总结

在本节中,我们学习了 TypeScript 中类的基础知识,包括如何定义类、创建实例、使用构造函数以及类的属性和方法。类是面向对象编程的核心,它允许我们更好地组织代码,使其更具可读性和可维护性。

提示

提示:在实际开发中,尽量将类的属性和方法封装起来,以提高代码的安全性和可维护性。

附加资源

练习

  1. 定义一个 Car 类,包含 brandmodelyear 属性,并定义一个 displayInfo 方法来显示汽车的信息。
  2. 创建一个 Car 类的实例,并调用 displayInfo 方法。
  3. 扩展 Car 类,添加一个 startEngine 方法,并在方法中输出 "Engine started"。

通过完成这些练习,你将更好地理解 TypeScript 中类的基础知识。