search
LoginSignup
42

More than 3 years have passed since last update.

posted at

updated at

TypeScript アクセス修飾子

アクセス修飾子

  • 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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
42