«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как модификаторы доступа (государственные, частные, защищенные) и статический модификатор влияют на доступность участника в C#?

Как модификаторы доступа (государственные, частные, защищенные) и статический модификатор влияют на доступность участника в C#?

Опубликовано в 2025-03-23
Просматривать:182

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

понимание доступа и статических модификаторов в C#

]

C# использует модификаторы доступа ( public , private , Protected ) для управления доступностью участника в классах и структурах. Эти модификаторы определяют сферу, из которой можно получить доступ к члену класса (поле, свойство, метод). Модификатор static добавляет еще один слой управления, определяющие члены, которые принадлежат к самому классу, а не на отдельные экземпляры.

]

Modifiers Access:

]
    ]
  • public : участники объявлены как public , доступны из любого места - в той же собрании или любой другой Ассамблеи, ссылаясь на него. Это обеспечивает самую широкую доступность. ]

    ]
  • ]
  • private : участники объявлены как private ] доступны только из класса, где они определены. Это обеспечивает соблюдение сильной инкапсуляции и скрытия данных. ]

    ]
  • ]
  • защищен : члены, объявленные как защищен , доступны в классе, где они определены, а также внутри полученных классов (классы, которые наследуют от исходного класса). Это позволяет контролировать наследование и расширение функциональности. ]

    ]
  • ]
  • no modifier (default): , если модификатор доступа не указан, уровень доступа по умолчанию обычно внутренний . Это означает, что участник доступен только из той же сборки (проекта), где он определен. ]

    ]
  • ]

статический модификатор: ]

модификатор

static указывает, что член принадлежит к самому классу, а не к какому -либо конкретному экземпляру класса. Статические участники разделяются во всех случаях. Статические элементы доступны с использованием имени класса, а не экземпляра объекта. Статические классы не могут быть созданы. ]

иллюстративный пример:

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();
    }
}
в этом примере

publicvar и publicmethod свободно доступны. privatevar и privatemethod доступны только внутри exampleclass . Protectectvar и protectectemethod доступны в exampleclass и любые классы, унаследовавшие от него. staticvar и staticmethod доступны непосредственно через имя класса. ]

практические приложения: ]

Модификаторы доступа являются фундаментальными к объектно-ориентированным принципам дизайна, таким как инкапсуляция и абстракция. Они помогают контролировать, как взаимодействуют разные части вашего приложения, способствуя обслуживаемости кода и снижению непреднамеренных побочных эффектов. Статические элементы полезны для функций утилиты или констант, которые не требуют экземпляра объекта.

]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3