Bevezetés a polimorfizmusba

A polimorfizmus az a koncepció, amelynek segítségével különféle módon végezhető el egyetlen cselekvés. Két görög szavakból származik, vagyis poly és morphs. A „poli” sokot jelent, a „morf” pedig formákat jelent. A továbbiakban a polimorfizmus számos formát ölel fel. Objektum-orientált programozásban meghatározható, mint egy programozási nyelv azon képessége, hogy objektumokat az osztálytól vagy adattípustól függően eltérően dolgozzon fel. Alapvetően úgy definiálhatjuk, mint a származtatott osztályoknak a módszerek újradefiniálására való képességét.

Megértés

A polimorfizmus két típusa a fordítási idő polimorfizmus és a futási idő polimorfizmus. A compile-time polimorfizmus módszerrel történő túlterheléssel és a runtime polimorfizmus módszer felülírásával történik. A futásidejű polimorfizmus, más néven Dynamic Method Dispatch egy olyan folyamat, amelyben a felülbírált módszerre való hívás futási időben oldódik meg, annak ellenére, hogy fordítási időben. Ebben a felülbírált módszert egy szülőosztály referenciaváltozóján keresztül hívjuk meg. Ezenkívül az adattagok nem tudják elérni a futásidejű polimorfizmust.

Hogyan könnyíti meg a polimorfizmus a munkát?

Objektum-orientált programozási jellemző. A polimorfizmus felhasználásával az osztály különböző funkciókat mutathat ki akkor is, ha közös felületük van. Tehát azt mondhatjuk, hogy ez a hosszú távon magyarázza az alapfogalmat. Figyelemre méltó dolog a polimorfizmus vonatkozásában az, hogy a különféle osztályok összes működési kódja nem követeli meg, hogy ismerkedjenek az általuk használt osztályokkal, mivel a felhasználás módja ugyanaz.

Objektum-orientált programozási jellemző. A polimorfizmus felhasználásával az osztály különböző funkciókat mutathat ki akkor is, ha közös felületük van. Így elmondhatjuk, hogy ez a hosszú távon egy nagyon alapvető fogalmat magyaráz meg. Figyelemre méltó dolog a polimorfizmus vonatkozásában az, hogy a különféle osztályok összes működési kódja nem követeli meg, hogy ismerkedjenek az általuk használt osztályokkal, mivel a felhasználás módja ugyanaz.

Vegyük figyelembe a polimorfizmus valós forgatókönyvét. Vegyünk példát egy gombra. Tudjuk, hogy valamilyen nyomás alkalmazásával rákattinthatunk a gombra, de nem tudjuk a gomb megnyomásának eredményét vagy a használatának referenciáját. Itt érdemes megjegyezni, hogy az eredmény sem befolyásolja a felhasználását.

Tehát a polimorfizmus alapvető célja, hogy tárgyakat készítsen, amelyek igényeik szerint cserélhetők.

Mit lehet tenni a polimorfizmussal?

Ha a gyermekosztály ugyanazzal a módszerrel jár, mint a szülői osztályban, akkor ezt felülíró módszernek nevezzük.

Vagy más szavakkal, ha egy gyermekosztály biztosítja a szülőosztály által bejelentett módszer megvalósítását, akkor azt felülíró módszernek nevezzük. Bizonyos dolgok, amelyeket a módszer felülbírálásánál emlékezni kell:

  • A módszernek ugyanazzal a névvel kell rendelkeznie, mint amelyet a szülőosztályban említettek
  • A módszernek ugyanolyan paraméterrel kell rendelkeznie, mint amelyet a szülőosztályban említett.
  • Meg kell lennie az öröklésnek, azaz az IS-A kapcsolatnak.

A polimorfizmussal dolgozik?

Ha egy osztálynak több azonos nevű, de eltérő paraméterrel rendelkező módszere van, akkor metódus túlterhelésre hivatkoznak.

Tegyük fel, hogy csak egy műveletet kell elvégeznünk, akkor a módszerekkel megegyező névvel növelhetjük a program olvashatóságát. A módszer túlterhelésének módjai a Java-ban:

  • Az érvek számának megváltoztatása
  • Az adattípus megváltoztatása

A Java-ban azonban nem lehetséges, ha csak a módszer visszatérési típusát változtatjuk meg.

Előnyök

  • A polimorfizmus segít a programozóknak a kód és az osztályok újrafelhasználásában, amelyeket egyszer írtak, hogy teszteljék és végrehajtsák. (A kód újrafelhasználhatósága)
  • Egyetlen változó neve több adattípus (int, float, dupla, hosszú stb.) Változóit tárolhatja.
  • Növeli a program olvashatóságát.

Miért kellene használni a polimorfizmust?

A dinamikus polimorfizmuson és a statikus polimorfizmuson kívül vannak olyan Java programozási jellemzők, amelyek a két fő típustól eltérő polimorfizmust mutatnak.

Ezek a következők: Kényszer, polimorf paraméterek és az operátor túlterhelése

Kényszerítés

Megértjük a kényszert egy nagyon egyszerű példával. Vegyünk egy karakterláncot, amelynek értéke „kényszerítő osztály:”. Vegyünk egy másik egész értéket, amelynek 1. értéke van. Mi történik, ha egy karakterláncot egész számmal összeveszünk? Ezen összefűzés kimenetele „kényszerítő osztály: 1” lenne. Ezt hívják kényszerítésnek. Az implicit típuskonverziót a típushibák megelőzése érdekében hajtják végre. Ezt a fordító hajtja végre.

Üzemeltető túlterhelése

Mielőtt megkezdenénk a kezelő túlterhelését, más néven módszerterhelést, nézzünk át egy példán. Vegyünk egy karakterláncot, amelynek értéke „Operator”, és egy másik karakterláncot, mint „Overloading”. Használja a plusz szimbólumot (+) ezekkel a karakterláncokkal, ahogyan két egész számot hozzáad. A (+) összekapcsolja ezt a két karakterláncot. Két egész szám esetén a két egész összeg visszaadásra kerül. Ha az egyik szimbólum vagy operátor képes megváltoztatni jelentésüket a felhasználás módjától függően, akkor a bemutatott polimorfizmus típusát operátor túlterhelésnek hívják.

paraméterek

A polimorfizmusban az objektum sok formában megjelenhet. A Java-ban egy objektumhoz való hozzáférés engedélyezésére utal a következő módok egyikén, például -

1. a szülőosztály vagy szuperosztály referenciaváltozójának felhasználásával

2. az osztály referenciaváltozójának felhasználásával, amelyben létezik.

Miért van szükségünk polimorfizmusra?

A polimorfizmus fő oka az, hogy ezt a fogalmat széles körben használják az öröklés megvalósításához. Fontos szerepet játszik abban, hogy az objektumok eltérő belső struktúrákkal rendelkezzenek ugyanazon külső interfész megosztásakor. A polimorfizmust világosan megfogalmazzák, mint sokat.

terület

A kötés a módszerhívás és a metódustest összekapcsolása. Kétféle kötés létezik.

Statikus kötés (korai kötés): Amikor az objektum típusát fordítási időben határozzák meg.

Dinamikus kötés (késői kötés): Amikor az objektum típusát futási időben határozzák meg.

Következtetés

A polimorfizmust tehát az objektum-orientált programozás egyik legfontosabb tulajdonságának tekintik. Ha a polimorfizmus valós példájáról beszélünk, akkor lehet, hogy egy személynek ugyanakkor eltérő tulajdonságai lehetnek, például egy férfi egyszerre fiú, férj, alkalmazott. Tehát ugyanaz a személy eltérő viselkedést szerez különböző helyzetekben. Ezt objektum-orientált szempontból polimorfizmusnak nevezzük, amely az objektum-orientált programozás fontos jellemzője.

Ajánlott cikkek

Ez egy útmutató a Mi a polimorfizmus? Itt tárgyaltuk a polimorfizmus működését, alkalmazási körét, szükségességét és előnyeit. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Mi a JavaScript?
  2. Mi a HTML
  3. Mi a Python?
  4. Polimorfizmus a C # -ben
  5. Tömbök a Java programozásban
  6. Típuskonverzió Java-ban típusokkal és példákkal
  7. Útmutató a konverzióhoz Java-ban példákkal
  8. Statikus kötés és dinamikus kötés Bevezetés | felhasználások

Kategória: