C# のアクセス修飾子 (指定子) とプログラム例
C# のアクセス修飾子 (指定子) とは?
アクセス修飾子 または C# のアクセス指定子は、クラス プロパティまたはメソッドの可視性を定義するために使用されるキーワードです。クラスのプロパティやメソッドを他のプログラムに見せたくない場合に使用します。アクセス修飾子は、他のプログラムがクラスのプロパティやメソッドを参照できないようにアクセスを制限します。
C# には 6 種類のアクセス修飾子があります:
- 非公開
- 公開
- 保護
- 社内
- 保護された内部
- 非公開
このチュートリアルでは、次のことを学びます-
- C# のアクセス修飾子 (指定子) とは?
- C# のプライベート アクセス修飾子
- C# パブリック アクセス修飾子
- C# の保護されたアクセス修飾子
- C# 内部アクセス修飾子
- C# コンストラクター
以下で説明するプログラム例を使用して、C# の主なアクセス修飾子について学習します。
C# のプライベート アクセス修飾子
Private アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、それらのメンバーには外部プログラムからアクセスできないことを意味します。
プライベート アクセス修飾子の例
例を挙げて、private アクセス修飾子を使用するとどうなるか見てみましょう。
Tutorial.cs ファイルの現在のコードを変更してみましょう。 SetTutorial メソッドで、public キーワードを private に変更しましょう。
それでは、Program.cs ファイルに切り替えましょう。 SetTutorial メソッドの下に赤い波線があることに気付くでしょう。
Tutorial クラスで SetTutorial メソッドをプライベートとして宣言したので、Visual Studio はこれを検出しました。現在、このメソッドは Program.cs ファイルからは機能しないことを強調表示することで、ユーザーに通知しています。
C# パブリック アクセス修飾子
Public アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、それらのメンバーに任意の外部プログラムからアクセスできることを意味します。これについては、以前の例で既に確認しました。
公開アクセス修飾子の例
メソッドを Tutorial クラスで public として定義したので、Program.cs ファイルからアクセスできます。
C# の保護されたアクセス修飾子
Protected アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、現在のクラスから継承されたクラスのみがそれらのメンバーにアクセスできることを意味します。これについては、継承クラスで詳しく説明します。
C# 内部アクセス修飾子
内部アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、これらのメンバーには内部プログラムのみがアクセスでき、外部プログラムはアクセスできません。
C# コンストラクター
C# コンストラクターは、対応するオブジェクトの作成時にクラス フィールドの値を初期化するために使用されます。コンストラクタは、クラスと同じ名前のメソッドです。コンストラクターがクラスで定義されている場合、オブジェクトの作成時に呼び出される最初のメソッドが提供されます。 Employee というクラスがあるとします。コンストラクター メソッドは、Employee() とも呼ばれます。
コンストラクター メソッドについては、次の重要な点に注意する必要があります
<オール>C# コンストラクターの例
コンストラクターのユーザーをコードに組み込む方法を見てみましょう。オブジェクトの作成時にコンストラクターを使用して、TutorialID フィールドと TutorialName フィールドをいくつかのデフォルト値に初期化します。
ステップ 1) 最初のステップは、Tutorial クラスのコンストラクターを作成することです。このステップでは、以下のコードを Tutorial.cs ファイルに追加します。
コードの説明:-
<オール>Program.cs ファイルに切り替えて、SetTutorial メソッドを呼び出す行を削除します。これは、コンストラクターがどのように機能するかを確認したいだけだからです。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { public int TutorialID; public string TutorialName; public Tutorial() { TutorialID=0; TutorialName="Default"; } public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Tutorial pTutor=new Tutorial(); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
コードの説明:-
<オール>上記のコードが正しく入力され、プログラムが実行されると、次の出力が表示されます。
出力:
出力から、コンストラクターが実際に呼び出され、TutorialName の値が「Default」に設定されていることがわかります。
注: ここでは、値「デフォルト」がコンストラクターから取得されます。
まとめ
- C# アクセス修飾子またはアクセス指定子は、クラス プロパティまたはメソッドの可視性を定義するために使用されます。
- Private アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、それらのメンバーには外部プログラムからアクセスできないことを意味します。
- Public アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、それらのメンバーは任意の外部プログラムからアクセスできることを意味します。
- Protected アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、現在のクラスから継承されたクラスのみがそれらのメンバーにアクセスできることを意味します。
- Internal アクセス修飾子がプロパティまたはメソッドのいずれかにアタッチされている場合、これらのメンバーは内部プログラムからのみアクセスでき、外部プログラムからはアクセスできません。
- C# コンストラクターは、対応するオブジェクトの作成時にクラス フィールドの値を初期化するために使用されます。
C言語