Junior
117
questionbank
Что такое инкапсуляция?
Answer from AI
sobes.tech AI
Инкапсуляция — это механизм, позволяющий скрыть внутреннее состояние объекта и защитить его от внешнего вмешательства. Она объединяет данные (поля) и методы, работающие с этими данными, в единый блок — класс.
В C# инкапсуляция достигается с помощью модификаторов доступа (public, private, protected, internal, protected internal, private protected) и свойств (Properties).
Пример с использованием свойств:
public class Person
{
private int _age; // Приватное поле
public int Age // Публичное свойство предоставляет контролируемый доступ к полю _age
{
get { return _age; }
set
{
if (value >= 0) // Валидация данных
{
_age = value;
}
else
{
// Можно выбросить исключение или выполнить другое действие
Console.WriteLine("Возраст не может быть отрицательным.");
}
}
}
public string Name { get; set; } // Автоматически реализуемое свойство
public void DisplayInfo()
{
Console.WriteLine($"Имя: {Name}, Возраст: {Age}");
}
}
Преимущества инкапсуляции:
- Скрытие реализации: Внутренние детали объекта скрыты от внешнего кода.
- Контроль доступа: Доступ к данным осуществляется через методы или свойства, что позволяет выполнять валидацию и бизнес-логику.
- Гибкость: Изменения во внутренней реализации класса неaffectируют внешний код, использующий его интерфейс.
- Улучшение поддерживаемости: Код становится более структурированным и понятным.