第5章:类与面向对象编程
类的基本语法
TypeScript 提供了完整的面向对象编程(OOP)支持,其中 class 是最核心的语法之一。通过类可以封装数据和行为,实现代码的复用和组织。
1. 类的定义
使用 class 关键字定义一个类,类名通常采用帕斯卡命名法(首字母大写):
class Person {
// 类成员(属性和方法)定义在这里
}
2. 类的成员
属性
类的属性用于描述对象的状态:
class Person {
name: string; // 类型注解
age: number = 0; // 带默认值
}
方法
类的方法是对象的行为:
class Person {
greet(): string {
return "Hello!";
}
}
3. 实例化
通过 new 关键字创建类的实例:
const person = new Person();
person.name = "Alice";
console.log(person.greet()); // 输出: "Hello!"
4. 构造函数
constructor 是类的特殊方法,用于初始化对象:
class Person {
name: string;
constructor(name: string) {
this.name = name;
}
}
const person = new Person("Bob"); // 通过构造函数初始化
5. 类成员的访问
默认情况下,所有成员都是 public(可自由访问):
class Person {
public name: string; // 显式声明 public(可省略)
}
const p = new Person();
p.name = "Charlie"; // 直接访问
6. 完整示例
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(distance: number = 0) {
console.log(`${this.name} moved ${distance} meters`);
}
}
const dog = new Animal("Rex");
dog.move(10); // 输出: "Rex moved 10 meters"
关键特性
- 类型检查:类属性需要类型注解
- 编译为ES5/ES6:TypeScript 类会被编译为 JavaScript 的构造函数
- 完整OOP支持:支持继承、多态等特性(后续章节介绍)
注意:TypeScript 的类编译后会移除所有类型信息,最终生成标准的 JavaScript 代码。
