C# 修飾子
修飾子は、クラスやメソッド、フィールドなどの性質を指定するものです。
アクセス修飾子
アクセス修飾子は、アクセスできる範囲を指定する修飾子です。
クラス、メソッド、フィールドに指定する事が出来ます。
修飾子 | 自クラス | 派生クラス | アセンブリ (プロジェクト) | その他 |
---|---|---|---|---|
public | ○ | ○ | ○ | ○ |
protected internal | ○ | ○ | ○ | |
protected | ○ | ○ | ||
internal | ○ | ○ | ||
private | ○ |
- 【メソッドにアクセス修飾子を付けた例】
-
public void HogeMethod() //どのクラスからでもアクセス可能 protected internal void HogeMethod() //自クラス、継承した子クラス、同じプロジェクトからアクセス可能 protected void HogeMethod() //自クラスと、継承した子クラスからのみアクセス可能 internal void HogeMethod() //自クラスと、同じプロジェクトからのみアクセス可能 private void HogeMethod() //自クラスからのみアクセス可能
その他修飾子
その他の修飾子には以下のようなものがあります。
修飾子 | 対象 | メモ |
---|---|---|
abstract | クラス、メソッド | 不完全な実装という指定になる。 オーバーライドして本実装をする必要がある時に指定する。 |
const | フィールド、変数 | 変更不可となる。(定数となる) |
readonly | フィールド | 読み取り専用となる。 |
static | クラス、フィールド、メソッド | 静的メンバーとなる。 (newしなくてもアクセス可となる。) |
- 【その他修飾子サンプル】
-
public abstract void HogeMethod() //継承して実装が必須なメソッド public const string HOGE = "Hoge"; //定数定義 public readonly string HOGE = "Hoge"; //定数定義 public static int HogeMethod() //クラスをnewしなくても使用できるメソッド