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