チャックブログ

UnityやC#などをメインに公開していきます。C++も勉強始めました!

アクセス修飾子のおさらい

初めに

最近他人(プロ)のコードを見る機会があったのですが普段自分が使わないアクセス修飾子が見えて「あれ?これなんだっけ?」となったので改めおさらいを込めて記事にします。 (Unityで実験しています)

サンプルコード1

public class test : MonoBehaviour
{
    //どこからでもアクセスできる
    public int test1=1;

    //自身のクラスと継承したクラスならアクセスできる
    protected int test2=2;

    //外部のプロジェクトからアクセスできなくする
    internal int test3=3;

    //上の二をまとめたもの(正直これが一番よくわかってない)
    protected internal int test4=4;

    //このクラス内でしか使えない
    private int test5=5;
}

こんな感じに継承クラスを作成してみました。

継承してみた

f:id:tilyakuda:20190625114841p:plain
継承した結果
継承した結果、test1~test4までが呼び出せることが確認できます。

クラス参照してみた

f:id:tilyakuda:20190625115134p:plain
クラス参照
クラス参照したみた結果、test1,test3,test4の3つを参照することができました。protected は継承しないと見れないことがよくわかります。

まとめ

アクセス修飾子完全に理解したぃ