Polymorfismus v Javě

Obsah
V rámci objektově orientovaného programování existují 3 základní pilíře, dědictví, což nám umožňuje získat atributy a metody nadřazené třídy zapouzdření který nám umožňuje udržovat metody a atributy třídy a který by neměl být viděn mimo ni a třetí, která je polymorfismus.
PolymorfismusSlovo polymorfismus pochází z řeckého slova a znamená, že má mnoho podob, takže pak můžeme definovat, že polymorfismus je schopnost používat mnoho forem v Jáva.
Abychom pochopili, co polymorfismus Musíme porozumět klíčovým konceptům, jedním z nich jsou typy, typ je definice generovaná ze třídy, takže to vede ke dvěma dalším souvisejícím konceptům.
PodtypKdyž vytvoříme třídu, která dědí od jiné, vytváříme a podtyp, protože se jedná o typ odvozený od nadřazeného typu, můžeme například říci, že pokud máme třídu Geometrická postava a z toho vytvoříme třídu Kruh která to dědí, pak naše třída Circle definuje podtyp GeometricFigure.
SupertypJe to naopak, když se třída dědí, stává se nadtřídou nebo nadřazenou třídou, proto se nyní ukazuje, že je supertyp, tj. primární typ nebo který pomáhá definovat jeho podtypyPokud bychom následovali příklad, který jsme již definovali, supertypem by byla třída Geometrická postava.
Tím definujeme pojmy, které nám pomohou porozumět polymorfismu, pokud příklad uvedeme trochu obsáhleji, můžeme říci, že kruh bude vždy typu Geometrická postava, ale ne všechny typy Geometrická postava budou typu Kruh, pokud mluvíme o třídách, které jsme právě definovali, například pokud nyní vytvoříme podtřídu, která dědí ze třídy Geometrická postava a jmenuje se to Obdélník, nyní máme nový podtyp, který je stále toho typu Geometrická postava ale dostává novou podobu a zde je polymorfismus.
Protože jsme viděli teorii typů, můžeme pak říci, že podtřída bude vždy typu své nadřazené třídy, ale že nadřazená třída nebude typu své podtřídy nebo podřízené třídy, s tímto pak můžeme viz následující příklad, kde v metodě žádáme o objekt typu Geometrická postavaProto můžeme přijímat jeho mnoho tvarů, v tomto případě můžeme přijímat objekt Circle nebo Rectangle, protože oba, přestože jsou odlišní, sdílejí supertyp.
Podívejme se na následujícím obrázku na kód, který nám ukazuje, jak by se metoda chovala s polymorfismus:

V tomto případě metoda show object očekává objekt typu Geometrická postava„Pokud víme, že Circle a Rectangle jsou podtřídy FigureGeometric, pak můžeme jejich objekty předat metodě, protože se jedná o různé formy FigureGeometric a plní funkci.
Už jsme se naučili používat třetí pilíř objektové orientace, nyní můžeme budovat rozsáhlejší metody, které lze znovu použít v různých implementacích našich programů v Jáva.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave