TypeScript类的使用实践记录 | 青训营

69 阅读2分钟

TypeScript类的使用实践记录

通过下面的实践我们可以发现,typescript中类的使用与java中类的使用基本相似。都拥有公共、私有与受保护的修饰符 publicprivateprotected。可以通过getters/setters来截取对对象成员的访问。

TypeScript 类

在TypeScript里,我们可以使用常用的面向对象模式。 基于类的程序设计中一种最基本的模式是允许使用继承来扩展现有的类。

公共,私有与受保护的修饰符

与java中的方法类似,需要注意的是

  • 构造函数也可以被标记成 protected。 这意味着这个类不能在包含它的类外被实例化,但是能被继承。

存取器

TypeScript支持通过getters/setters来实现对成员属性赋值和读取操作,通过这种方式可以实现对成员属性的保护。比如有些属性只是可读但不可写,那么只提供它的getter方法就好。


class Employee {
    private _fullName: string;

    get fullName(): string {
        return this._fullName;
    }

    set fullName(newName: string) {
        this._fullName = newName;     
    }
}

在上面的代码中我们给class Employee定义了一个类型为string的私有属性_fullName。因为是私有属性,所以不能在声明它的类的外部访问。在这里我们定义了get fullName()和set fullName() 来对_fullName进行读取和赋值。当读取_fullName的值时,我们只需要调用get fullName函数即可获得需要的值。而在进行赋值操作时,只需要将我们想要赋的值作为参数传递进set fullName函数即可。这样可以大大避免自己不知道在哪里对对象进行了修改。

构造函数

构造函数是一种特殊的函数,用于创建和初始化对象。当我们new新的对象时,构造函数会自动调用,并设置对象的初始状态。

class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}

let greeter: Greeter;
greeter = new Greeter("world");

把类当做接口使用

因为类可以创建出类型,所以你能够在允许使用接口的地方使用类。