Mi példa az öröklés?
Az öröklés olyan mechanizmus, amelyben az egyik osztály megszerzi egy másik osztály tulajdonságát. Például a gyermek örökölje szülei tulajdonságait. Örökléssel újból felhasználhatjuk a meglévő osztály mezőit és metódusait. Ezért az öröklés megkönnyíti az újrafelhasználhatóságot, és az OOP-k fontos fogalma.
Ebben az oktatóanyagban megismerheti-
- Öröklés típusait
- Öröklés Java-ban
- Java Öröklési példa
- Szuper kulcsszó
- Az öröklődés megismerése az OOP-ban példával
Öröklés típusai
Vannak Különböző típusú öröklődés a Java-ban:
Egyetlen öröklés:
Az Egyetlen öröklésben az egyik osztály kiterjeszti a másik osztályt (csak egy osztály).
A fenti diagramban a B osztály csak az A osztályt terjeszti ki. szuper osztály, a B osztály pedig egy alosztály.
Többszörös öröklés:
Többszörös öröklés esetén egy osztály tovább bővül mint egy osztály. A Java nem támogatja a többszörös öröklést.
A fenti ábra szerint a C osztály kiterjeszti mind az A, mind a B osztályt.
Többszintű öröklés:
A többszintű öröklésben egy osztály örökölhet egy származtatott osztályból. Ezért a levezetett osztály lesz az új osztály alaposztálya.
Amint az a diagramon látható, a C osztály B alosztálya, B pedig egy osztályú A. osztályba tartozik.
Hierarchikus öröklődés:
A hierarchikus öröklésben egy osztályt sok alosztály örököl.
A fenti példa szerint a B, C és D osztály ugyanazt örökli A. osztály.
Hibrid öröklés:
A hibrid öröklődés az egyszeres és többszörös öröklés kombinációja.
A fenti példa szerint az A osztály összes nyilvános és védett tagja öröklődik a D osztályba, először a B osztályon keresztül, másodszor pedig a C osztályon keresztül.
Megjegyzés: A Java nem támogatja a hibrid / többszörös öröklődést
Öröklés Java-ban
A JAVA ÖRÖKLÉS olyan mechanizmus, amelyben az egyik osztály megszerzi egy másik osztály tulajdonságát. A Java-ban, amikor két osztály között “Is-A” kapcsolat van, akkor az Öröklődést használjuk. A szülő osztályt szuper osztály és az örökölt osztályt alosztálynak hívják. A extends
kulcsszót az alosztály használja a szuper osztály jellemzőinek öröklésére.
Öröklés fontos, mivel a kód újrafelhasználhatóságához vezet.
Java öröklődési szintaxis:
class subClass extends superClass { //methods and fields }
Java öröklődés E xample
Szuper kulcsszó
A szuper kulcsszó hasonló ehhez a “ehhez” kulcsszóhoz.
A super kulcsszó felhasználható a szülőosztály bármely adattagjához vagy metódusához.
A szuper kulcsszó használható változó, módszer és konstruktor szintjén.
Szintaxis:
super.<method-name>();
Az öröklődés megismerése az OOP-kban a példával
Vegye figyelembe az előző példában szereplő banki alkalmazást .
Állítólag két különböző számlatípust nyitunk meg, az egyiket a mentéshez, a másikat pedig az ellenőrzéshez (más néven jelenlegi).
Hasonlítsuk össze és tanulmányozzuk, hogyan lehet strukturált és objektum-orientált programozási szempontból megközelíteni a kódolást. Strukturális megközelítés: A strukturált programozásban két függvényt fogunk létrehozni –
- az egyiket a visszavonáshoz
- a másikat a befizetési művelethez.
Mivel a Ezeknek a függvényeknek a fiókokon belüli működése ugyanaz marad.
OOP megközelítése: Miközben az OOPs programozási megközelítést használja. Két osztályt hoznánk létre.
- mindegyik rendelkezik a befizetési és visszavételi funkciók végrehajtásával.
- Ez felesleges munkát igényel.
Szoftver módosítási kérelme
Most megváltozik a követelményspecifikáció valamire, ami annyira elterjedt a szoftveriparban. Önnek feltételezhetően hozzá kell adnia a funkcionalitáshoz tartozó privát bankszámlát a folyószámlahitel eszközzel. Háttérként a folyószámlahitel egy olyan eszköz, ahol a számlán rendelkezésre álló egyenlegnél nagyobb összeget vehet fel.
Strukturális megközelítés: A funkcionális megközelítés használatával módosítanom kell a visszavonási függvényemet, amelyet már teszteltek és alapszintűek. És adjon hozzá egy olyan módszert, mint az alábbiakban, amely gondoskodik az új követelményekről.
OOP megközelítése: Az OOP megközelítés használatával egyszerűen meg kell írjon egy új osztályt a visszavonási funkció egyedi megvalósításával. Soha nem nyúltunk a tesztelt kódrészlethez.
Újabb változtatási kérelem
Mi van, ha a követelmény megváltozik további? Szeretne hozzáadni hitelkártya-számlát saját egyedi betétigényével.
Strukturális megközelítés: A strukturális megközelítés használatával módosítania kell a betét kódját újra.
OOP megközelítése: De objektumorientált megközelítést használva csak hozzon létre egy új osztályt a betétmódszer egyedülálló megvalósításával (az alábbi képen piros színnel kiemelve).
Bár a strukturális programozás kezdetben könnyű megközelítésnek tűnik, az OOP hosszú távon nyer.
Az öröklés előnye az OOP-kban
De lehet azzal érvelnek, hogy minden osztályban megismétlik a kódrészleteket.
Ennek kiküszöbölése érdekében hozz létre egy szülői osztályt, mondd a “számla” szót, és hajtsd végre ugyanazt a befizetési és felvételi funkciót. És tegye a gyermekosztályokat örökölt “számla” osztályba. Annak érdekében, hogy hozzáférhessenek a számlaosztályba tartozó visszavonási és befizetési funkciókhoz.
A funkciókat nem szükséges egyedileg végrehajtani. Ez az öröklődés a java-ban. .