首頁 >後端開發 >C++ >訪問修飾符(公共,私人,受保護)和靜態修飾符如何影響C#中的成員可訪問性?

訪問修飾符(公共,私人,受保護)和靜態修飾符如何影響C#中的成員可訪問性?

DDD
DDD原創
2025-01-30 02:23:07421瀏覽

How Do Access Modifiers (public, private, protected) and the Static Modifier Affect Member Accessibility in C#?

了解C#

中的訪問和靜態修飾符

c#使用訪問修飾符(publicprivateprotected)來控制類和結構內的成員可訪問性。 這些修飾符定義了可以訪問類成員(字段,屬性,方法)的範圍。 static修飾符添加了另一層控件,定義屬於類本身的成員,而不是單個實例。

>

>訪問修飾符:

  • >public在同一組件或任何其他引用其引用的組件內,可以從任何地方訪問為。 這提供了最廣泛的可訪問性。 public

  • private> 成員聲明為private>只能從定義的類中訪問。這會強大的封裝和數據隱藏。

  • 在定義的類中以及派生的類(從原始類中繼承的類)中,可以訪問

    protected成員被聲明為>。這允許控制功能的繼承和擴展。 protected>

  • >

    > no修飾符(默認值):>如果未指定訪問修改器,則默認訪問級別通常為。 這意味著僅在定義的同一集會(項目)中訪問該成員。 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內訪問。 privateVarPrivateMethodExampleClass>中可訪問,並從中繼承的任何類。 protectedVar>和ProtectedMethod直接通過類名稱訪問。 ExampleClass> staticVar StaticMethod實用應用:

>訪問修飾符是面向對象的設計原理(例如封裝和抽象)的基礎。 它們有助於控制應用程序的不同部分如何相互作用,促進代碼可維護性並減少意外副作用。 靜態成員對實用程序函數或不需要對象實例的常數很有用。 >

以上是訪問修飾符(公共,私人,受保護)和靜態修飾符如何影響C#中的成員可訪問性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn