📜  ts 中的类 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:05:37.990000             🧑  作者: Mango

TypeScript中的类

TypeScript是一个由Microsoft开发的开源编程语言,它是JavaScript的超集,为JavaScript添加了静态类型和其他高级功能。在TypeScript中,类是一种重要的编程构造,用于组织代码并将其封装起来。

定义类

在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 am ${this.age} years old.`);
    }
}

在上面的示例中,我们定义了一个名为Person的类,它具有nameage两个属性,以及一个构造函数和一个名为sayHello的方法。

构造函数

构造函数是类的特殊方法,用于创建并初始化类的新实例。在上面的示例中,我们使用构造函数初始化Person类的nameage属性。在TypeScript中,我们可以使用constructor关键字来定义构造函数。

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

在构造函数中,我们使用this关键字来引用当前实例,以便设置其属性值。

方法

类中的方法是一种行为,用于执行特定的操作。在上面的示例中,我们定义了一个名为sayHello的方法,它通过控制台输出实例的名称和年龄。

sayHello() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}

在类型化的语言中,我们可以为方法和属性设置类型,以确保代码的正确性和健壮性。

继承

类也可以通过继承来扩展和自定义其行为。在TypeScript中,我们可以使用extends关键字来定义一个类继承另一个类的行为。例如,我们可以创建一个名为Employee的新类,该类从Person类继承并添加一个新的title属性和一个introduce方法。

class Employee extends Person {
    title: string;

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

    introduce() {
        console.log(`Hello, my name is ${this.name}, I am ${this.age} years old, and my title is ${this.title}.`);
    }
}

在上面的示例中,我们使用super关键字调用Person构造函数,并初始化Employeetitle属性。

总结

在本文中,我们了解了在TypeScript中定义和使用类的基础知识。我们了解了如何定义类、构造函数和方法,以及如何通过继承扩展和定制类的行为。TypeScript中的类使代码更易于组织、维护和重用,并提供了更好的类型推断和错误检测。