C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のパブリック、プロテクト、プライベートアクセス指定子の違いは何ですか?


パブリックアクセス指定子

パブリックアクセス指定子を使用すると、クラスはそのメンバー変数とメンバー関数を他の関数やオブジェクトに公開できます。クラス外からパブリックメンバーにアクセスできます。

using System;
namespace Demo {
   class Rectangle {
      public double length;
      public double width;
      public double GetArea() {
         return length * width;
      }  
      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   } //end class Rectangle
   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.length = 7;
         r.width = 10;
         r.Display();
         Console.ReadLine();
      }
   }
}

出力

Length: 7
Width: 10
Area: 70

保護されたアクセス指定子

保護されたアクセス指定子を使用すると、子クラスはその基本クラスのメンバー変数とメンバー関数にアクセスできます。

保護されたメンバーにアクセスする、保護されたアクセス修飾子の例を見てみましょう。

using System;
namespace MySpecifiers {
   class Demo {
      protected string name = "Website";
      protected void Display(string str) {
         Console.WriteLine("Tabs: " + str);
      }
   }
   class Test : Demo {
      static void Main(string[] args) {
         Test t = new Test();
         Console.WriteLine("Details: " + t.name);
         t.Display("Product");
         t.Display("Services");
         t.Display("Tools");
         t.Display("Plugins");
      }
   }
}

出力

Details: Website
Tabs: Product
Tabs: Services
Tabs: Tools
Tabs: Plugins

プライベートアクセス指定子

プライベートアクセス指定子を使用すると、クラスはそのメンバー変数とメンバー関数を他の関数やオブジェクトから隠すことができます。同じクラスの関数のみがそのプライベートメンバーにアクセスできます。クラスのインスタンスでさえ、そのプライベートメンバーにアクセスできません。

using System;
namespace Demo {
   class Rectangle {
      //member variables
      private double length;
      private double width;
      public void Acceptdetails() {
         length = 10;
         width = 15;
      }
      public double GetArea() {
         return length * width;
      }
      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }//end class Rectangle
   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine();
      }  
   }
}

出力

Length: 10
Width: 15
Area: 150

  1. Wi-Fi 6と5Gネットワ​​ークの違いは何ですか?

    5Gネットワ​​ークは多くの話題を呼んでいるトピックであり、その実装はソーシャルネットワークに存在する会話のトピックです。別のテクノロジーであるWi-Fi6の周りに存在する期待のように。 Wi-Fi6と5Gネットワ​​ークの違いを特定する方法を学ぶ 。 WiFi6とは何ですか? Wi-Fi6は新しい認定に他なりません IEEE802.11ax規格に基づいています。以前のWi-Fiテクノロジーとは異なり、Wi-FI6はより長い距離でより高速な接続を可能にします。 その性能は、複数の接続されたデバイスで最適であり、電気的欠陥の影響を受けることなく適切に機能します。 2.4Ghzと5Ghzの周

  2. Windows 10 と Windows 11 の違いは?

    Microsoft は最新の Windows 11 をリリースし、多くの新機能と改善を行いました。また、多くのパッチとアップデートにより、Windows 10 は新しい Windows 11 よりも安定した OS になりました。同社によると、2025 年以降に Windows 10 でのサポートが終了するため、Windows 11 または Windows 10 へのアップグレードを決定するのに十分な時間があります。 Windows 10 を快適に使用してください。この記事では、Windows 10 と Windows 11 の比較を用意しました。 新しい OS に切り替えるか、Windows