Sobes.tech
Junior

Co je to zapouzdření?

sobes.tech AI

Odpověď od AI

Zapouzdření je mechanismus, který umožňuje skrýt vnitřní stav objektu a chránit jej před vnějšími zásahy. Spojuje data (pole) a metody, které s těmito daty pracují, do jednoho bloku — třídy.

V jazyce C# je zapouzdření dosaženo pomocí modifikátorů přístupu (public, private, protected, internal, protected internal, private protected) a vlastností (Properties).

Příklad s použitím vlastností:

public class Osoba
{
    private int _vek; // Privátní pole

    public int Vek // Veřejná vlastnost, která poskytuje kontrolovaný přístup k poli _vek
    {
        get { return _vek; }
        set
        {
            if (value >= 0) // Validace dat
            {
                _vek = value;
            }
            else
            {
                // Může vyvolat výjimku nebo provést jinou akci
                Console.WriteLine("Věk nemůže být záporný.");
            }
        }
    }

    public string Jmeno { get; set; } // Automaticky implementovaná vlastnost

    public void ZobrazInfo()
    {
        Console.WriteLine($"Jméno: {Jmeno}, Věk: {Vek}");
    }
}

Výhody zapouzdření:

  • Skrytí implementace: Vnitřní detaily objektu jsou skryty před externím kódem.
  • Kontrola přístupu: Přístup k datům je umožněn přes metody nebo vlastnosti, což umožňuje validaci a podnikovou logiku.
  • Flexibilita: Změny v interní implementaci třídy neovlivní externí kód, který používá její rozhraní.
  • Zlepšení údržby: Kód je strukturovanější a srozumitelnější.