Kulcskülönbség – polimorfizmus vs öröklődés az OOP-ban
Az objektum-orientált programozást (OOP) általában szoftverfejlesztésre használják. Számos programozási nyelv támogatja az objektumorientált programozást. Az objektum-orientált programozás egy olyan módszer, amellyel osztályokat és objektumokat használva tervezhetünk programokat. Az OOP osztálya egy objektum létrehozásának tervrajza. Egy osztálynak vannak tulajdonságai és metódusai. Az objektum egy osztály példánya. Az OOP négy pillért tartalmaz, mint például az öröklődés, a polimorfizmus, az absztrakció és a beágyazás. Ez a cikk a polimorfizmus és az öröklődés közötti különbséget tárgyalja az OOP-ban. A legfontosabb különbség az OOP-ban a polimorfizmus és az öröklődés között az, hogy a polimorfizmus egy objektum azon képessége, hogy többféleképpen viselkedjen, az öröklődés pedig egy új osztály létrehozása egy meglévő osztály tulajdonságainak és metódusainak felhasználásával.
Mi a polimorfizmus az OOP-ban?
A polimorfizmus több formát jelez. Egy objektum többféle viselkedéssel is rendelkezhet. A polimorfizmus két kategóriába sorolható. Túlterhelnek és felülírnak.
Túlterhelés
Tekintse meg az alábbi, Java nyelven írt programot.
01. ábra: Túlterhelés
A fenti program szerint egy A típusú objektum jön létre. Az obj.sum(); a sum() metódushoz kapcsolódó kimenetet adja meg. Az obj.sum(2, 3) meghívásakor; a sum(int a, int b)-hez kapcsolódó kimenetet adja meg. Megfigyelhető, hogy ugyanaz a tárgy a helyzettől függően eltérő viselkedést mutat. Ha több, azonos nevű, de eltérő paraméterekkel rendelkező metódus létezik, azt túlterhelésnek nevezzük. Statikus kötésnek vagy fordítási idő polimorfizmusának is nevezik.
Felülbírálás
A polimorfizmus egy másik típusa felülírja. Tekintse meg az alábbi, Java nyelven írt programot.
02. ábra: Felülbírálás
A fenti program szerint van egy display() metódus az A osztályban. A B osztály az A osztályból indul ki. Ezért az A osztályba tartozó összes metódus elérhető a B osztály számára. Ez öröklődés. Az öröklődés fogalmát később részletesebben ismertetjük.
A B osztálynak is ugyanaz a display(). Az A típusú objektum létrehozásakor és a megjelenítési metódus meghívásakor a kimenet B-t fog adni. Az A osztályú megjelenítési metódust felülírja a B osztályú megjelenítési metódus. Tehát a kimenet B.
Amikor léteznek metódusok azonos nevű és azonos paraméterekkel, de két különböző osztályban, és öröklődéssel kapcsolódnak egymáshoz, azt felülírásnak nevezzük. Késői kötés, dinamikus kötés, futásidejű polimorfizmus néven is ismert. A túlterhelést és a felülbírálást polimorfizmusnak nevezik. Ez az objektum-orientált programozás egyik fő koncepciója.
Mi az öröklődés az OOP-ban?
Tekintse meg az alábbi, Java nyelven írt programot.
03. ábra: Példa az öröklődésre
A fenti program szerint az A osztályban van a sum() metódus, a B osztályban pedig sub().
Az A osztály sum() metódusa használható a B osztályban kiterjesztési kulcsszó használatával. Egy meglévő osztály tulajdonságainak és metódusainak újbóli felhasználása új osztály létrehozásához öröklődésként ismert. Még a B osztályban sincs összeg() metódus; az A osztályból öröklődik. Az öröklődés hasznos a kód újrafelhasználhatóságához. A régebbi osztályt alaposztálynak, szuperosztálynak vagy szülőosztálynak nevezzük. A származtatott osztályt alosztálynak vagy gyermekosztálynak nevezik.
Öröklési típusok
Az öröklődésnek többféle típusa van. Ezek az egyszintű öröklődés, a többszintű öröklődés, a többszörös öröklődés, a hierarchikus öröklődés és a hibrid öröklődés.
Egyetlen öröklés
Az egyszeres öröklődésben egy szuperosztály és egy alosztály található. Ha az A osztály a szuperosztály és a B osztály az alosztály, akkor az A osztály összes tulajdonsága és metódusa elérhető a B osztály számára. Csak egy szint van; ezért egyszintű öröklődésnek nevezik.
Többszintű öröklődés
A többszintű öröklődésben az osztályoknak három szintje van. A köztes osztály a szuper osztálytól örökli. Az alosztály a köztes osztálytól örökli. Ha három osztály van, mint A, B és C, és A a szuperosztály, a B pedig a köztes osztály. Ekkor B örököl A-tól, C pedig B-től, ez egy többszintű öröklődés.
Többszörös öröklés
A többszörös öröklődésben sok szuperosztály és egy alosztály található. Ha három szuperosztály van, úgynevezett A, B, C és a D az alosztály, akkor a D osztály örökölhet A, B és C osztályokból. A többszörös öröklődést a C++ programozási nyelv támogatja. Nem támogatott olyan programozási nyelvekben, mint a Java vagy a C. Az interfészek a többszörös öröklődés megvalósítására szolgálnak ezeken a nyelveken.
Hierarchikus öröklődés
Ha vannak olyan osztályok, amelyeket A szuperosztálynak neveznek, és B, C alosztályok, ezek az alosztályok örökölhetik az A osztály tulajdonságait és metódusait. Az ilyen típusú öröklődési típust hierarchikus öröklődésnek nevezik.
Hibrid öröklés
Van egy másik speciális öröklődési típus, amely hibrid öröklődésként ismert. Ez többszintű és többszörös öröklődés kombinációja. Ha A, B, C és D osztályok, B pedig A-tól, D pedig B-től és C-től is örököl, akkor ez hibrid öröklés.
Mi a hasonlóság a polimorfizmus és az öröklődés között az OOP-ban?
Mindkettő az objektum-orientált programozás fogalma
Mi a különbség a polimorfizmus és az öröklődés között az OOP-ban?
Polimorfizmus vs öröklődés az OOP-ban |
|
A polimorfizmus egy objektum azon képessége, hogy többféleképpen viselkedjen. | Az öröklődés egy új osztály létrehozása egy meglévő osztály tulajdonságainak és metódusainak felhasználásával. |
Használat | |
A polimorfizmust arra használják, hogy az objektumok melyik metódusformát hívják meg fordítási és futási időben. | Az öröklődést a kód újrafelhasználásához használjuk. |
Megvalósítás | |
A polimorfizmus metódusokban valósul meg. | Az öröklődés osztályokban valósul meg. |
Kategóriák | |
A polimorfizmus felosztható túlterhelésre és felülírásra. | Az öröklődés felosztható egyszintű, többszintű, hierarchikus, hibrid és többszörös öröklődésre. |
Összefoglalás – Polimorfizmus vs öröklődés az OOP-ban
A polimorfizmus és az öröklődés az objektumorientált programozás fő fogalmai. Az OOP-ban a polimorfizmus és az öröklődés közötti különbség az, hogy a polimorfizmus egy közös interfész több formához, az öröklődés pedig egy új osztály létrehozása egy meglévő osztály tulajdonságainak és metódusainak felhasználásával. Mindkét koncepciót széles körben használják a szoftverfejlesztésben.
Töltse le a PDF Polymorphism vs Heritance dokumentumot az OOP-ban
Letöltheti ennek a cikknek a PDF-verzióját, és offline célokra használhatja az idézet jegyzetének megfelelően. Kérjük, töltse le a PDF verziót innen: Különbség a polimorfizmus és az öröklődés között az OOP-ban