工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# のアクセス修飾子 (指定子) とプログラム例

C# のアクセス修飾子 (指定子) とは?

アクセス修飾子 または C# のアクセス指定子は、クラス プロパティまたはメソッドの可視性を定義するために使用されるキーワードです。クラスのプロパティやメソッドを他のプログラムに見せたくない場合に使用します。アクセス修飾子は、他のプログラムがクラスのプロパティやメソッドを参照できないようにアクセスを制限します。

C# には 6 種類のアクセス修飾子があります:

このチュートリアルでは、次のことを学びます-

以下で説明するプログラム例を使用して、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# の既定のアクセス修飾子を public にする必要があります。
  • コンストラクタ メソッドには戻り値の型があってはなりません。
  • C# コンストラクターの例

    コンストラクターのユーザーをコードに組み込む方法を見てみましょう。オブジェクトの作成時にコンストラクターを使用して、TutorialID フィールドと TutorialName フィールドをいくつかのデフォルト値に初期化します。

    ステップ 1) 最初のステップは、Tutorial クラスのコンストラクターを作成することです。このステップでは、以下のコードを Tutorial.cs ファイルに追加します。

    コードの説明:-

    <オール>
  • まず、クラスと同じ名前の新しいメソッドを追加します。クラスと同じ名前であるため、C# はこれをコンストラクター メソッドとして扱います。したがって、呼び出し元のメソッドがこのクラスのオブジェクトを作成するたびに、このメソッドがデフォルトで呼び出されます。
  • Tutorial コンストラクターでは、TutorialID の値を 0 に、TutorialName を「Default」に設定しています。したがって、オブジェクトが作成されるたびに、これらのフィールドには常にこれらのデフォルト値が設定されます。
  • 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(); 
      }
     }
    }

    コードの説明:-

    <オール>
  • 最初のステップは、Tutorial クラスのオブジェクトを作成することです。これは、「new」キーワードを介して行われます。
  • Tutorial クラスの GetTutorial メソッドを使用して、TutorialName を取得します。これは、Console.WriteLine メソッドを介してコンソールに表示されます。
  • 上記のコードが正しく入力され、プログラムが実行されると、次の出力が表示されます。

    出力:

    出力から、コンストラクターが実際に呼び出され、TutorialName の値が「Default」に設定されていることがわかります。

    注: ここでは、値「デフォルト」がコンストラクターから取得されます。

    まとめ


    C言語

    1. C# アクセス修飾子
    2. C++ do…while ループと例
    3. C++ ポインタと例
    4. C++ 演算子のオーバーロードと例
    5. C++ 関数とプログラム例
    6. 例を含む C# コレクションのチュートリアル
    7. 例を使用した Python 文字列 count()
    8. 例を使用した Python round() 関数
    9. 例を使用した Python map() 関数
    10. Python Timeit() と例
    11. 例を使用した Python List count()