Junior
Čo je to abstrakcia v programovaní?
sobes.tech AI
Odpoveď od AI
Abstrakcia je mechanizmus, ktorý umožňuje skrývať detaily implementácie a poskytovať všeobecnú reprezentáciu systému alebo jeho komponentov. Zameriava sa na "čo" robí objekt, a nie na "ako" to robí.
V C# sa abstrakcia realizuje prostredníctvom:
- Abstraktných tried: Môžu obsahovať abstraktné metódy (bez implementácie) a bežné členy. Nie je možné vytvoriť inštanciu abstraktnej triedy.
// Abstraktná trieda s abstraktnou metódou public abstract class Shape { public abstract double GetArea(); // Abstraktná metóda public string Name { get; set; } public void DisplayInfo() // Bežná metóda { Console.WriteLine($"Tvar: {Name}"); } } - Rozhrania: Definujú zmluvu, ktorú musí implementovať trieda. Obsahujú iba deklarácie metód, vlastností, udalostí a indexátorov (do C# 8), alebo môžu obsahovať predvolenú implementáciu (od C# 8).
// Rozhranie public interface IDrawable { void Draw(); // Metóda bez implementácie }
Princípy abstrakcie:
- Zapuzdrenie: Zoskupenie dát a metód, ktoré s týmito dátami pracujú, do jedného bloku. Podporuje skrytie vnútornej štruktúry.
- Dedičstvo: Umožňuje vytvárať nové triedy na základe existujúcich, dedičia ich vlastnosti a metódy, a pridáva alebo prepíše funkcie.
Použitie abstrakcie:
- Zjednodušenie zložitých systémov.
- Zvýšenie flexibility kódu.
- Zlepšenie údržby.
- Vytváranie opakovane použiteľných komponentov.