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