C#の「protected」キーワードについての話。
こんにちは。みなみんです。
C#入門シリーズの続きです。
今回は「protected」キーワードについて記事にしました。
目次
protectedキーワード
protectedキーワードはアクセスレベル
「protected」キーワードはクラス内のメンバ変数やメンバ関数に対して、アクセスレベルを指定するアクセス修飾子です。
publicやprivateとの違い
アクセスレベルはインスタンスからのアクセスを制限します。
「public」はインスタンスからアクセスできます。
「private」はインスタンスからのアクセスはできません。
また、「private」を指定したメンバ変数・関数は継承したクラスから継承元のメンバ変数・関数にアクセスする事が出来ません。
そこで登場するのが「protected」修飾子です。
「protected」は、インスタンスからアクセスは出来ないものの、継承されたクラスからのアクセスは出来るようになります。
サンプルをご覧ください。(Gist)
このように、「protected」を指定した変数には、インスタンスからはアクセスできません。
あくまでも、継承したクラスの定義でアクセスする事が可能になるだけです。
最後に、アクセスレベル毎のアクセス範囲をまとめてみました。
キーワード | 範囲 |
---|---|
public | インスタンス、継承先からアクセスが可能 |
private | インスタンス、継承先、どちらからもアクセス不可 |
protected | 継承先からのアクセスのみ可能 |
この記事に誤りがあるかもしれません。その辺はご了承ください。
本記事で紹介されている方法・手法はあくまでも個人的なものです。