Mi az öröklés, szuper osztály és alosztály a Javaban?

Az objektum-orientált programozás fontos fogalma az öröklés. Ez utat kínál tárgyak hogy meghatározzák a kapcsolatokat egymással. Ahogy a neve is sugallja, egy objektum képes egy másik objektum jellemzőit örökölni.

Konkrétabban fogalmazva: egy tárgy képes állapotát és viselkedését továbbadni gyermekeinek. Az öröklés működéséhez a tárgyaknak közös tulajdonságokkal kell rendelkezniük.

Ban ben Jáva, osztályok vehetők más osztályokból, amelyek vehetők másoktól és így tovább. Ennek oka az, hogy örökölhetik a funkciókat az azt meghaladó osztálytól egészen a legfelső Objektum osztályig.

Példa a Java öröklésre

Tegyük fel, hogy emberi osztályt készítünk, amely a fizikai tulajdonságainkat képviseli. Ez egy általános osztály, amely képviselheti Önt, engem vagy bárkit a világon. Állapotában nyomon követhetőek a lábak száma, a karok száma és a vércsoport. Olyan viselkedése van, mint enni, aludni és járni.

Az ember jó ahhoz, hogy átfogó képet kapjon arról, ami mindannyian azonosak, de például nem mondhat el nekem a nemek közötti különbségekről. Ehhez két új osztálytípust kellene készítenünk: Férfi és Nő. E két osztály állapota és viselkedése sok szempontból különbözik egymástól, kivéve azokat, amelyeket az Embertől örökölnek.

instagram viewer

Ezért az öröklés lehetővé teszi számunkra, hogy a szülőosztály állapotát és viselkedését bevonjuk gyermekébe. A gyermekosztály ezután kibővítheti az állapotot és a viselkedést, hogy tükrözze a képviselt különbségeket. A koncepció legfontosabb szempontja, hogy emlékezzünk rá, hogy a gyermekosztály a szülő speciálisabb változata.

Mi a szuper osztály?

Két objektum kapcsolatában egy szuperosztály az a név, amelyet annak az osztálynak adnak, amelytől örökölnek. Úgy hangzik, mint egy szuper duper osztály, de ne feledje, hogy ez az általánosabb verzió. A jobb nevek lehetnek alap- vagy egyszerűen szülőosztály.

Ha ezúttal valósághűbb példát szeretnénk hozni, akkor lehet egy Személy nevű szuperosztály. Állapotában szerepel a személy neve, címe, magassága és súlya, és olyan viselkedése van, mint bevásárlás, ágynemzés és tévénézés.

Két új osztályt készíthetnénk, amelyet a Személytől örökölhetünk. Speciálisabbak verziók, mert noha nevek, címek, tévét néznek és vásárolnak, ugyanakkor jellemzőik is különböznek egymástól.

A munkavállalónak lehet olyan állama, amelyben megnevezés és foglalkoztatási hely szerepel, míg a hallgatónak adatok lehetnek a tanulmányi területről és a tanulási intézményről.

Szuper osztály példa:

Képzelje el, hogy definiál egy Személyosztályt:

nyilvános osztályú személy. { }

Az osztály kibővítésével új osztály hozható létre:

nyilvános osztályú Munkavállaló kiterjeszti a Személyt. { }

Azt mondják, hogy a Személyosztály a Munkavállalói osztály szuperosztálya.

Mi az alosztály?

Két objektum kapcsolatában az alosztály az a osztálynak adott név, amely a szuperosztálytól örököl. Bár kissé sápadtnak hangzik, ne feledje, hogy ez a szuperosztály speciálisabb változata.

Az előző példában a tanuló és a munkavállaló az alosztály.

Az alosztályok származtatott osztályoknak, gyermekosztályoknak vagy kiterjesztett osztályoknak is ismertek lehetnek.

Hány alosztály lehet?

Annyi alosztálya lehet, amennyit csak akar. Nincs korlátozás arra, hogy hány alosztályt tartalmazhat egy szuperosztály. Hasonlóképpen, nincs korlátozás az öröklés szintjének számára. Az osztályok hierarchiája felépíthető az egységek egy bizonyos területére.

Valójában, ha a Java API könyvtárakat nézi, sok példát láthat az öröklésről. Az API-k minden osztálya a java.lang nevű osztálytól származik. Tárgy. Például, bármikor, amikor JFrame objektumot használ, az öröklés hosszú sorának a végén áll:

 java.lang. Tárgy. kiterjesztette java.awt. Összetevő. kiterjesztette java.awt. Tartály. kiterjesztette java.awt. Ablak. kiterjesztette java.awt. Keret. kibővítette a javax.swing. JFrame. 

A Java-ban, amikor egy alosztály örököl egy szuperosztálytól, úgy nevezik, hogy "kiterjeszti" a szuperosztályt.

Lehet-e alosztálya örökölni sok szuperosztályból?

Nem. A Java-ban az alosztály csak egy szuperosztályt képes kiterjeszteni.

Miért érdemes használni az öröklést?

Az öröklés lehetővé teszi a programozók számára, hogy újra felhasználják a már írt kódot. Az emberi osztály példájában nem kell új mezőket létrehoznunk a Férfi és a nő osztályban a vércsoport tartására, mert felhasználhatjuk az Emberosztálytól örökölt mezőt.

Az öröklés használatának további előnye, hogy lehetővé teszi, hogy egy alosztályt úgy kezeljünk, mintha szuper osztály lenne. Tegyük fel például, hogy egy program több példányt hozott létre a Férfi és Nő objektumokról. Lehet, hogy a programnak fel kell hívnia az alvás viselkedését mindezen objektumok esetén. Mivel az alvási viselkedés az emberi szuperosztály viselkedése, az összes Férfi és Nő tárgyat össze lehet csoportosítani, és úgy kezeljük őket, mintha emberi tárgyak lennének.

instagram story viewer