Help us understand the problem. What is going on with this article?

TypeScript アクセス修飾子

More than 1 year has passed since last update.

アクセス修飾子

  • public

クラス外からのアクセス可能。

  • private

クラス内でのみアクセス可能。

  • protected

継承クラス内でのみアクセス可能。

  • static

静的なのでクラスで共有。

//スーパークラス定義
class Super {
    constructor() {
        this.public(); //true
        this.private(); //true
        this.protected(); //true
        this.static(); //コンパイルエラー
    }
    public public(): boolean {
        return true;
    }
    private private(): boolean {
        return true;
    }
    protected protected(): boolean {
        return true;
    }
    static static(): boolean {
        return true;
    }
}

//サブクラス定義
class Sub extends Super {
    constructor() {
        super();
        this.public(); //true
        this.private(); //コンパイルエラー
        this.protected(); //true
        this.static(); //コンパイルエラー
    }
}

//インスタンス
let test = new Sub();
test.public(); //true
test.private(); //コンパイルエラー
test.protected(); //コンパイルエラー
test.static(); //コンパイルエラー

//クラス静的メンバ
Sub.public(); //コンパイルエラー
Sub.private(); //コンパイルエラー
Sub.protected(); //コンパイルエラー
Sub.static(); //true
a12345
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away