C#は、アクセス修飾子(public
、private
、protected
)を使用して、クラスおよび構造体内のメンバーアクセシビリティを制御します。 これらの修飾子は、クラスメンバー(フィールド、プロパティ、メソッド)にアクセスできるスコープを定義します。 static
モディファイアは、個々のインスタンスではなく、クラス自体に属するメンバーを定義するコントロールの別のレイヤーを追加します。
アクセス修飾子:
:public
メンバーは、と宣言されているメンバーは、どこからでもアクセスできます。 これにより、最も広範なアクセシビリティが提供されます
public
:と宣言されたメンバーは、定義されているクラス内からのみアクセスできます。これにより、強力なカプセル化とデータが隠れています
private
private
protected
修飾子なし(デフォルト):protected
アクセス修飾子が指定されていない場合、デフォルトのアクセスレベルは通常
静的修飾子: internal
実例:
この例では、static
および
およびは、内でのみアクセスできます。
および<code class="language-csharp">public class ExampleClass { private int privateVar; protected int protectedVar; public int publicVar; static int staticVar; public void PublicMethod() { } private void PrivateMethod() { } protected void ProtectedMethod() { } static void StaticMethod() { } public static void Main(string[] args) { ExampleClass instance = new ExampleClass(); instance.publicVar = 10; instance.PublicMethod(); // instance.privateVar = 20; // Error: private // instance.PrivateMethod(); // Error: private ExampleClass.staticVar = 5; ExampleClass.StaticMethod(); } }</code>
およびそれから継承するクラス内でアクセス可能です。 publicVar
およびPublicMethod
は、クラス名から直接アクセスされます。privateVar
PrivateMethod
ExampleClass
実用的なアプリケーション:protectedVar
ProtectedMethod
ExampleClass
アクセス修飾子は、カプセル化や抽象化などのオブジェクト指向の設計原則の基本です。 それらは、アプリケーションのさまざまな部分がどのように相互作用するかを制御し、コードの維持可能性を促進し、意図しない副作用を減らすのに役立ちます。 静的メンバーは、オブジェクトインスタンスを必要としないユーティリティ関数または定数に役立ちます。
以上がアクセス修飾子(パブリック、プライベート、保護)および静的修飾子は、C#のメンバーアクセシビリティにどのように影響しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。