Junior
Czym jest enkapsulacja?
sobes.tech AI
Odpowiedź od AI
Enkapsulacja to mechanizm umożliwiający ukrycie wewnętrznego stanu obiektu i ochronę go przed ingerencją z zewnątrz. Łączy dane (pola) i metody operujące na tych danych w jeden blok — klasę.
W C# enkapsulacja osiągana jest za pomocą modyfikatorów dostępu (public, private, protected, internal, protected internal, private protected) i właściwości (Properties).
Przykład z użyciem właściwości:
public class Osoba
{
private int _wiek; // Prywatne pole
public int Wiek // Publiczna właściwość zapewniająca kontrolowany dostęp do pola _wiek
{
get { return _wiek; }
set
{
if (value >= 0) // Walidacja danych
{
_wiek = value;
}
else
{
// Można rzucić wyjątek lub wykonać inną akcję
Console.WriteLine("Wiek nie może być ujemny.");
}
}
}
public string Imię { get; set; } // Automatycznie implementowana właściwość
public void WyświetlInfo()
{
Console.WriteLine($"Imię: {Imię}, Wiek: {Wiek}");
}
}
Zalety enkapsulacji:
- Ukrycie implementacji: Wewnętrzne szczegóły obiektu są ukryte przed zewnętrznym kodem.
- Kontrola dostępu: Dostęp do danych odbywa się przez metody lub właściwości, co pozwala na walidację i logikę biznesową.
- Elastyczność: Zmiany w wewnętrznej implementacji klasy nie wpływają na zewnętrzny kod korzystający z jej interfejsu.
- Ulepszenie utrzymania: Kod staje się bardziej uporządkowany i zrozumiały.