Skip to content

  • TypeScript 是面向对象的 JavaScript。

类的定义

  • 使用class 定义类
typescript
class Student {
	name: string;
	age: number;
}

类成员

类的字段(属性)

  • 类的字段(属性)是类的状态的一部分,用于描述类的特征和属性。
typescript
class Person {
	// 字段1
	name: string;
	// 字段2
	age: number;
}

构造函数

  • 构造函数在创建对象时自动调用,用于设置对象的初始状态。
  • 构造函数可以使用super 调用父类的构造函数。
  • 构造函数可以使用this 关键字引用当前对象的属性和方法。
typescript
class Person {
	// 字段1
	name: string;
	// 字段2
	age: number;
	// 构造函数
	constructor(name: string, age: number) {
		this.name = name;
		this.age = age;
	}
}

类的方法

  • 类的方法是类的行为的一部分,用于描述类的功能和操作。
  • 方法可以有参数和返回值。
  • 方法可以使用this 关键字引用当前对象的属性和方法。
  • 方法可以是实例方法(在类的实例上调用)或静态方法(在类本身上调用)。
typescript
class Person {
	// 字段1
	name: string;
	// 字段2
	age: number;
	// 构造函数
	constructor(name: string, age: number) {
		this.name = name;
		this.age = age;
	}
	// 实例方法
	sayHello() {
		console.log(`Hello, I am a Person.`);
	}
	// 静态方法
	static eating() {
		console.log(`Hello, I eating the food`);
	}
}

访问修饰符

  • 访问修饰符用于控制类的成员(属性和方法)的访问权限。
  • TypeScript 有三种访问修饰符:publicprivateprotected
  • public 成员可以在类的实例和子类中访问。
  • private 成员只能在类的实例中访问,不能在子类中访问。
  • protected 成员可以在类的实例和子类中访问,不能在类的外部访问。
typescript
class Person {
	// 字段1 公共属性
	public name: string;
	// 字段2 受保护属性
	protected age: number;
	// 字段3 私有属性
	private gender: number;

	// 公共方法
	public sayHello() {
		console.log(`Hello, I am a Person.`);
	}
}

类的继承

  • 类的继承是指一个类可以派生出另一个类,新类可以继承父类的属性和方法,并且可以添加新的属性和方法。
  • 子类可以使用super 调用父类的构造函数和方法。
  • 子类可以重写父类的方法。
  • 类可以多继承,但是不推荐使用,因为多继承会导致代码的复杂性和维护成本的增加。
typescript
class Person {
	name: string;
	age: number;

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

	sayHello() {
		console.log(`Hello, I am a Person.`);
	}
}

class Student extends Person {
	// 字段1
	name: string;
	// 字段2
	age: number;
	// 构造函数
	constructor(name: string, age: number) {
		this.name = name;
		this.age = age;
		super(name, age);
	}
	// 实例方法
	sayHello() {
		console.log(`Hello, I am a Student.`);
	}
}