了解TypeScript中的Classes修飾符

了解TypeScript中的Classes修飾符

TypeScript 類(classes)的修飾符

TypeScript 是一種由 Microsoft 開發的 JavaScript 的超集,它提供了類型系統和 ES6 的特性,讓開發者可以更容易地開發出可維護的程式碼。在 TypeScript 中,類(classes)的修飾符是一種可以改變類的行為的特性,它可以改變類的訪問權限,以及類的屬性和方法的行為。

什麼是類(classes)的修飾符

類(classes)的修飾符是一種可以改變類的行為的特性,它可以改變類的訪問權限,以及類的屬性和方法的行為。TypeScript 支持三種類(classes)的修飾符:publicprotectedprivate

public

public 修飾符是默認的修飾符,它表示該屬性或方法可以被外部訪問。

class Animal {
  public name: string;
  public constructor(theName: string) {
    this.name = theName;
  }
  public move(distanceInMeters: number) {
    console.log(`${this.name} moved ${distanceInMeters}m.`);
  }
}

let animal = new Animal("Cat");
animal.move(10);

protected

protected 修飾符表示該屬性或方法只能被該類或其子類訪問。

class Animal {
  protected name: string;
  protected constructor(theName: string) {
    this.name = theName;
  }
}

class Cat extends Animal {
  constructor(name: string) {
    super(name);
  }
  public move(distanceInMeters: number) {
    console.log(`${this.name} moved ${distanceInMeters}m.`);
  }
}

let cat = new Cat("Cat");
cat.move(10);

private

private 修飾符表示該屬性或方法只能被該類訪問,不能被其子類訪問。

class Animal {
  private name: string;
  private constructor(theName: string) {
    this.name = theName;
  }
}

class Cat extends Animal {
  constructor(name: string) {
    super(name);
  }
}

let cat = new Cat("Cat");

總結

TypeScript 中的類(classes)的修飾符可以改變類的訪問權限,以及類的屬性和方法的行為。它支持三種類(classes)的修飾符:publicprotectedprivatepublic 修飾符是默認的修飾符,它表示該屬性或方法可以被外部訪問;protected 修飾符表示該屬性或方法只能被該類或其子類訪問;private 修飾符表示該屬性或方法只能被該類訪問,不能被其子類訪問。使用類(classes)的修飾符可以更好地控制類的訪問權限,以及類的屬性和方法的行為,從而提高程式碼的可維護性。

推薦閱讀文章

推薦閱讀文章

            <a href="https://www.tutorialsteacher.com/typescript/typescript-class-modifiers" target="_blank" rel="noopener">TypeScript 類(classes)的修飾符</a><br>
            <a href="https://www.typescriptlang.org/docs/handbook/classes.html" target="_blank" rel="noopener">TypeScript 類別</a><br>
            <a href="https://www.typescriptlang.org/docs/handbook/decorators.html" target="_blank" rel="noopener">TypeScript 裝飾器</a><br>
            <a href="https://www.typescriptlang.org/docs/handbook/interfaces.html" target="_blank" rel="noopener">TypeScript 介面</a><br>
            <a href="https://www.typescriptlang.org/docs/handbook/mixins.html" target="_blank" rel="noopener">TypeScript Mixins</a

延伸閱讀本站文章

更多TypeScript相關文章

推薦學習youtube影片

發佈留言