15. Objektově orientované programování Flashcards

1
Q

Co jsou třídy a objekty v objektově orientovaném programování?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co je konstruktor a jakou roli hraje v objektově orientovaném programování?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Co je dědičnost a jaké jsou její výhody v objektově orientovaném programování?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Co je vícenásobná dědičnost a jak je řešena v různých programovacích jazycích?

A

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”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Co je polymorfismus a jaké typy polymorfismu existují?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Co je rozhraní a jaký je jeho význam v objektově orientovaném programování?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly