Különbség a polimorfizmus és az öröklődés között az OOP-ban

Tartalomjegyzék:

Különbség a polimorfizmus és az öröklődés között az OOP-ban
Különbség a polimorfizmus és az öröklődés között az OOP-ban

Videó: Különbség a polimorfizmus és az öröklődés között az OOP-ban

Videó: Különbség a polimorfizmus és az öröklődés között az OOP-ban
Videó: Alapok a Mendeli genetikához 2024, December
Anonim

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.

Különbség a polimorfizmus és az öröklődés között az OOP-ban
Különbség a polimorfizmus és az öröklődés között az OOP-ban

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.

Különbség a polimorfizmus és az öröklődés között az OOP_02. ábrán
Különbség a polimorfizmus és az öröklődés között az OOP_02. ábrán

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.

Főbb különbség a polimorfizmus és az öröklődés között az OOP-ban
Főbb különbség a polimorfizmus és az öröklődés között az OOP-ban

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

Ajánlott: