05 ts 面向对象

7/21/2021 ts

接口 类 与 Java/C# 面向对象语言很像(毕竟C#和TS的作者是同一个人)

浅谈 C#、Typescript、JavaScript (opens new window)

# 类的定义

class 类名 {
    属性名: 类型;
    
    constructor(参数: 类型){
        this.属性名 =;
    }
    
    方法名(){
        // ....
    }

}

类 · TypeScript中文网 (opens new window)

# 接口

接口 · TypeScript中文网 (opens new window)

需要注意的是,我们在这里并不能像在其它语言里一样,说传给 printLabel的对象实现了这个接口。我们只会去关注值的外形。 只要传入的对象满足上面提到的必要条件,那么它就是被允许的。

在使用接口的场景(如方法参数),不需要显式“实现”,类的定义中有接口对应的“形”就可以。
在定义类时,最好还是显式实现。

高级类型 · TypeScript中文网 (opens new window) - 接口 vs. 类型别名

# 属性的封装

类 · TypeScript中文网 (opens new window) - 存取器

class Employee {
    private _fullName: string;

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

    set fullName(newName: string) {
        if (passcode && passcode == "secret passcode") {
            this._fullName = newName;
        }
        else {
            console.log("Error: Unauthorized update of employee!");
        }
    }
}

let name = employee.fullName;
employee.fullName = "Bob Smith";

# 泛型

泛型 · TypeScript中文网 (opens new window)

更新时间: Saturday, August 28, 2021 17:56