Junior
Šta je enkapsulacija?
sobes.tech АИ
Одговор од АИ
Капсулација је механизам који омогућава скривање унутрашњег стања објекта и заштиту од спољашњих утицаја. Она спаја податке (поља) и методе који раде са тим подацима у један блок — класу.
У C#-у, капсулација се постиже помоћу модификатора приступа (public, private, protected, internal, protected internal, private protected) и својстава (Properties).
Пример са коришћењем својстава:
public class Osoba
{
private int _starost; // Приватно поље
public int Starost // Јавно својство које пружа контролисани приступ пољу _starost
{
get { return _starost; }
set
{
if (value >= 0) // Валидација података
{
_starost = value;
}
else
{
// Може се изазвати изузетак или извршити друга акција
Console.WriteLine("Возраст не може бити негативан.");
}
}
}
public string Ime { get; set; } // Аутоматски реализовано својство
public void PrikaziInfo()
{
Console.WriteLine($"Име: {Ime}, Старост: {Starost}");
}
}
Предности капсулације:
- Скривање имплементације: Унутрашњи детаљи објекта су скривени од спољашњег кода.
- Контрола приступа: Приступ подацима се врши преко метода или својстава, што омогућава валидирање и пословну логику.
- Флексибилност: Промене у унутрашњој имплементацији класе не утичу на спољашњи код који користи њен интерфејс.
- Побољшање одржавања: Код постаје структуриранији и разумљивији.