15. Objektově orientované programování Flashcards
Co jsou třídy a objekty v objektově orientovaném programování?
- Třída: “Plán” nebo “šablona” pro vytváření objektů, definuje typ dat a metody.
- Objekt: Instance třídy, má svou vlastní sadu atributů a schopnost používat metody své třídy.
Co je konstruktor a jakou roli hraje v objektově orientovaném programování?
Konstruktor je speciální metoda v třídě, která je volána při vytváření nového objektu a slouží k inicializaci objektu, často s možností přijímání argumentů pro definici počátečního stavu.
Co je dědičnost a jaké jsou její výhody v objektově orientovaném programování?
Dědičnost umožňuje třídě dědit vlastnosti a metody od jiné třídy (nadřazené), což snižuje redundanci a zvyšuje modularitu. Podporuje opětovné použití kódu a usnadňuje údržbu.
Co je vícenásobná dědičnost a jak je řešena v různých programovacích jazycích?
Vícenásobná dědičnost umožňuje třídě dědit vlastnosti a metody z více nadřazených tříd. Jazyky jako C++ to podporují přímo, zatímco Java a C# používají rozhraní jako alternativu kvůli složitostem, jako je “diamantový problém”.
Co je polymorfismus a jaké typy polymorfismu existují?
Polymorfismus umožňuje objektům být ošetřovány jako instance jejich rodičovské třídy, zatímco se chovají jako instance svých skutečných podtříd. Zahrnuje ad-hoc polymorfismus (přetížení funkcí) a parametrický polymorfismus (generika).
Co je rozhraní a jaký je jeho význam v objektově orientovaném programování?
Rozhraní je struktura, která definuje soubor metod, které třída musí implementovat, ale ne poskytuje implementaci. Umožňuje definovat kontrakt pro třídy, což usnadňuje modularitu a interoperabilitu bez nutnosti dědičnosti.