大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

今年の折り返し

著者:伊関星児
公開日:2019/06/02
最終更新日:2019/06/02
カテゴリー:技術情報
タグ:

ども!こんばんは!

 

クローバーフィールドの伊関です。

 

六月になりましたね。

もう今年が始まって半分でございます。

恐ろしいですね。

時間はあっという間に過ぎていくのです。

ならば今日という日も勉強でございます!

 

・フィールドの有効範囲

クラス内で宣言される変数を「フィールド」または「メンバー変数」と呼びます。

フィールドはメソッド{}の外で宣言されます。

WindowsFormApplication2のForm1.csの

private Button button1;

と、Form2.csの

internal string feeling;

はフィールドです。

構文 フィールド宣言

アクセス修飾子 データ型 フィールド名;

使用例

private double max;

 

アクセス修飾子には5つあります。

アクセス修飾子

アクセス修飾子内容
publicクラスの外へ公開、制限なくアクセス可能。
private宣言したクラスの内部のみでアクセスが可能。
protected宣言したクラスとその派生クラスでは、アクセス可能。それ以外は不可。
internal現在のアセンブリのみアクセス可能。
protected internal現在のアセンブリ、または派生したクラスのみアクセス可能。

publicはクラスを越えて、どこからでもアクセス可能です。WindowsFormsApplication2でも、classの前に書かれたアクセス修飾子はpublicでしたね。

privateは宣言したクラス内部のどのメソッドからもアクセス可能ですが、外部のクラスからは、アクセスすることができません。もし、フィールドの宣言時にアクセス修飾子を省略すると、privateとして宣言されます。

protectedは、宣言したクラスとその派生クラスからアクセスが可能です。

internalは同一のプロジェクト内であれば、どのクラスからもアクセスが可能です。VisualC#では、コンパイルの単位を「アセンブリ」と呼びますが、要はプロジェクトのことです。publicでは公開範囲が大きすぎるため、internalアクセス修飾子が存在します。

WindowsFormsApplication2のForm2.csで宣言した「feeling」のアクセス修飾子は、internalでしたね。これはForm1クラスからもアクセスするためだったのです。同一プロジェクトから参照出来てればいいので、publicではなく、internalで宣言してます。

protected internalは、protected+internalの範囲からのアクセスが可能になります。つまり、同一アセンブリ内とアセンブリ外では派生クラスからアクセス可能です。

 

以上です!

 

では!

    上に戻る