1. 程式人生 > 實用技巧 >TypeScript - 類

TypeScript - 類

1. 定義類

    class Person {

        name: string; // 屬性

        // 建構函式, 例項化類的時候觸發
        constructor(name: string) {
            this.name = name;
        }

        // 普通函式
        run(): void {
            console.log(this.name);
        }
    }

    var person: Person = new Person('Tom');
    person.run();


2. 繼承 (extends, super) class Student extends Person { constructor(name: string) { super(name); } study(): void { console.log(`${this.name}在學習`); } } var student: Student = new Student('Tom'); student.run(); student.study(); 注: 如果父類子類中有同樣的方法, 則呼叫的是子類的方法
3. 類中屬性的修飾符 public: 公有, 在類中, 子類和類外部都可以訪問 protected: 保護, 在類中和子類中可以訪問, 在類外部不能訪問 private: 只能在類中訪問, 子類和類的外部都不能訪問 注: 屬性如果不加修飾符, 預設為public 4. 靜態屬性/靜態方法 class Person { // 靜態屬性 static str: string = 'aaa'; // 靜態方法 static run() { // ... } } 注: 靜態方法中不能直接呼叫類裡面的非靜態屬性
5. 多型 父類定義一個方法不去實現, 讓繼承它的子類去實現, 每一個子類有不同的表現 6. 抽象類 它是提供其他類繼承的基類, 不能直接被例項化 用abstract關鍵字定義抽象類和抽象方法 抽象類中的抽象方法不包含具體實現並且必須在派生類中實現 抽象方法只能寫在抽象類中 abstract class Animal { abstract eat(): void; } class Dog extends Animal { eat(): void { // 抽象類的子類必須實現父類的抽象方法 } }