Appearance
类
- 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 有三种访问修饰符:
public、private和protected。 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.`);
}
}