在 TypeScript 中,类(Class)是一种面向对象编程的基本构造。类是对象的蓝图,描述了对象的属性和方法。它提供了一种组织和封装相关数据和功能的方式。
定义
简单的类定义示例:
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
sayHello() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
}
在上述示例中,我们定义了一个名为 Person 的类。它有两个属性 name 和 age,以及一个构造函数 constructor 和一个方法 sayHello。
-
构造函数 constructor 是一个特殊的方法,用于创建和初始化类的实例。在上面的示例中,构造函数接受 name 和 age 作为参数,并将它们分配给类的属性。
-
方法 sayHello 定义了一个简单的打招呼功能,它使用类的属性来生成打招呼的消息。
使用
我们可以通过实例化类的方式创建对象,并调用类的属性和方法。以下是一个示例:
const john = new Person("John", 25);
john.sayHello(); // 输出:Hello, my name is John and I'm 25 years old.
在上面的示例中,我们使用 new 关键字创建了一个 Person 类的实例,并传递了相应的参数。然后,我们调用了实例的 sayHello 方法,它会输出相应的消息。
类的静态属性和方法
在 TypeScript 的类中,静态属性和方法属于类本身,而不是类的实例。它们可以通过类名直接访问,而不需要创建类的实例。
定义静态属性和方法时,需要使用 static 关键字进行修饰。以下是一个示例:
class MathUtils {
static PI: number = 3.14; // 静态属性
static calculateCircumference(radius: number): number { // 静态方法
return 2 * this.PI * radius;
}
}
在上面的示例中,我们定义了一个名为 MathUtils 的类,具有一个静态属性 PI 和一个静态方法 calculateCircumference。
-
静态属性 PI 是类级别的属性,可以通过类名直接访问,如 MathUtils.PI。
-
静态方法 calculateCircumference 是类级别的方法,可以直接通过类名调用,如 MathUtils.calculateCircumference(radius)。
需要注意的是,静态属性和方法属于类本身,并与类的实例无关。因此,不能通过类的实例来访问或调用静态属性和方法。