Úvod do polymorfismu
Polymorfismus je koncept, pomocí kterého lze provádět jednotlivé akce různými způsoby. Je odvozen ze dvou řeckých slov, tj. Poly a morf. „Poly“ znamená mnoho a „morfy“ znamená formy. Od této chvíle polymorfismus zahrnuje mnoho forem. V objektově orientovaném programování lze definovat jako schopnost programovacího jazyka zpracovávat objekty různě v závislosti na jejich třídě nebo datovém typu. V zásadě to můžeme definovat jako schopnost odvozených tříd předefinovat metody.
Porozumění
Dva typy polymorfismu jsou polymorfismus kompilace a polymorfismus za běhu. Polymorfismus kompilace je prováděn přetížením metody a runtime polymorfismem přepsáním metody. Runtime polymorfismus nazývaný také Dynamic Method Dispatch je proces, ve kterém je volání na přepsanou metodu vyřešeno za běhu i přes kompilaci. Přepsaná metoda je zde volána prostřednictvím referenční proměnné nadřazené třídy. Runtime polymorfismus nelze dosáhnout ani datovými členy.
Jak usnadňuje polymorfismus práci?
Je to objektově orientovaná programovací charakteristika. Pomocí polymorfismu může třída vykazovat různé funkce, i když mají společné rozhraní. Můžeme tedy říci, že tento dlouhodobý termín vysvětluje základní koncept. Pozoruhodné je, že o polymorfismu je, že veškerý pracovní kód v různých třídách nemusí vědět o třídě, kterou používá, protože tam je stejný způsob použití.
Je to objektově orientovaná programovací charakteristika. Pomocí polymorfismu může třída vykazovat různé funkce, i když mají společné rozhraní. Můžeme tedy říci, že toto dlouhodobé vysvětlení vysvětluje velmi základní koncept. Pozoruhodné je, že o polymorfismu je, že veškerý pracovní kód v různých třídách nemusí vědět o třídě, kterou používá, protože tam je stejný způsob použití.
Zvažte skutečný scénář polymorfismu. Vezměte příklad tlačítka. Víme, že použitím určitého tlaku můžeme kliknout na tlačítko, ale neznáme výstup stisknutí tlačítka ani odkaz na jeho použití. Bod, který je třeba poznamenat, je v každém případě výsledek neovlivněn způsob, jakým je použit.
Základním cílem polymorfismu je tedy vytvořit objekty, které jsou zaměnitelné v závislosti na potřebách.
Co můžete dělat s polymorfismem?
Pokud má podřízená třída stejnou metodu jako metoda deklarovaná v nadřazené třídě, nazýváme ji přepsáním metody.
Nebo jinými slovy, pokud podřízená třída poskytuje implementaci metody, která byla deklarována její nadřazenou třídou, nazývá se přepsání metody. Určité věci, které je třeba si pamatovat v prvořadé metodě, jsou:
- Metoda musí mít stejný název, jaký je uveden v nadřazené třídě
- Metoda musí mít také stejný parametr jako parametr uvedený v nadřazené třídě.
- Musí existovat dědičnost, to znamená vztah IS-A.
Práce s polymorfismem?
Když třída má více metod, které mají stejný název, ale odlišné parametry, je označována jako Přetížení metody.
Předpokládejme, že musíme provést pouze jednu operaci a pak mít stejný název jako metody by zvýšilo čitelnost programu. Způsoby přetížení metody v Javě jsou:
- Změna počtu argumentů
- Změna typu dat
V Javě však není možné, pokud změníme pouze návratový typ metody.
Výhody
- Polymorfismus pomáhá programátorům znovu použít kód a také třídy, které jsou jednou napsány, aby byly testovány a implementovány. (Opětovné použití kódu)
- Jediný název proměnné může ukládat proměnné více typů dat (int, float, double, long, atd.).
- Zvyšuje čitelnost programu.
Proč bychom měli používat polymorfismus?
Kromě dynamického polymorfismu a statického polymorfismu existují některé programovací vlastnosti Java, které vykazují polymorfismus jiný než dva hlavní typy.
Jedná se o - nátlak, polymorfní parametry a přetížení operátora
Donucování
Pojďme porozumět donucení s velmi jednoduchým příkladem. Zvažte řetězec s hodnotou „třída nátlaku:“. Zvažte další celé číslo s hodnotou 1. Co se stane, když překonáte hodnotu řetězce s celočíselnou hodnotou? Výstupem této zřetězení bude „třída nátlaku: 1“. Tomu se říká nátlak. Implicitní převod typu se provádí, aby se zabránilo chybám typu. Děje se to kompilátorem.
Přetížení operátora
Než začneme s přetížením operátorem, známým také jako přetížení metody, projdeme si příklad. Zvažte řetězec s hodnotou „Operátor“ a další řetězec jako „Přetížení“. Použijte symbol plus (+) s těmito dvěma řetězci stejně jako přidáte dvě celá čísla. (+) Zřetězí tyto dva řetězce. V případě dvou celých čísel se vrací součet dvou celých čísel. Když jeden symbol nebo operátor má schopnost změnit svůj význam v závislosti na způsobu, jakým jsou použity, je typ vystaveného polymorfismu nazýván přetížení operátorem.
Parametry
V polymorfismu se objekt může objevit v mnoha podobách. V Javě se jedná o povolení přístupu k objektu jedním z následujících způsobů, jako je -
1. pomocí referenční proměnné své nadřazené třídy nebo nadřazené třídy
2. pomocí referenční proměnné třídy, ve které existuje.
Proč potřebujeme polymorfismus?
Hlavním důvodem, proč je potřeba polymorfismus, je to, že se tento koncept široce používá při provádění dědičnosti. Hraje důležitou roli při umožnění různým vnitřním strukturám objektů ve sdílení stejného externího rozhraní. Polymorfismus je jasně uveden jako ten, který je mapován pro mnohé.
Rozsah
Vazba spojuje volání metody s tělem metody. Máme dva typy vazby.
Statická vazba (časná vazba): Když je typ objektu určen v době kompilace.
Dynamic Binding (Late Binding): Když je typ objektu určen za běhu.
Závěr
Polymorfismus je tedy považován za jeden z velmi důležitých rysů objektově orientovaného programování. Pokud mluvíte o příkladu polymorfismu v reálném životě, mohl by to být člověk zároveň, který může mít různé vlastnosti, například muž zároveň je syn, manžel, zaměstnanec. Stejná osoba tedy získává odlišné chování v různých situacích. Toto, v objektově orientovaných termínech, se nazývá polymorfismus, důležitá charakteristika objektově orientovaného programování.
Doporučené články
Toto byl průvodce Co je polymorfismus ?. Zde jsme probrali práci, rozsah, potřebu a výhody polymorfismu. Další informace naleznete také v dalších navrhovaných článcích -
- Co je to JavaScript?
- Co je to HTML
- Co je Python
- Polymorfismus v C #
- Pole v programování Java
- Převod typu v jazyce Java s typy a příklady
- Průvodce konverzí v Javě s příklady
- Statické vázání a dynamické vázání Úvod Použití