Az öröklődés feltárása a Java programozási nyelvben

Az öröklődés feltárása a Java programozási nyelvben

Az öröklődés az objektum-orientált programozás egyik alapfogalma. A programozás során az öröklés szó olyan kapcsolatot jelent, amelyben a gyermekosztály feltételezi a szülőosztály állapotát és viselkedését.





A szoftverfejlesztésben az öröklés célja a biztonságos és megbízható szoftver újrafelhasználásának megkönnyítése. Az öröklés egyik fő előnye, hogy megszünteti a redundáns kódot a programokban.





xbox sorozat x vs xbox one x

Hogyan működik az öröklődés

Az öröklődés gondolata az, hogy sok osztálynak vagy objektumnak ugyanazok a tulajdonságai és módszerei vannak. Ezért a megbízható szoftverek előállításának szellemében az új osztályok a már létező kapcsolódó osztályokból meríthetnek, és szükség esetén bővíthetik a meglévő állapotokat és viselkedést.





Az öröklés működésének valós példája a gyümölcsök figyelembe vétele lenne. Ez egy széles címke, amely különféle elemek beágyazására szolgál.

Az alma gyümölcs, és a narancs is. A narancs azonban nem alma, így nem lenne gyümölcs a készleteid között, ha bolt lenne. Lehet, hogy a készletben van egy gyümölcsrész, és ebben a részben konkrétabb tételek, például alma és narancs.



Így működik az öröklődés.

Az öröklés használata Java nyelven

Az öröklés minden olyan programozási nyelvben használható, amely az objektum-orientált programozási paradigmát használja. Az öröklés pontos használata azonban az adott programozási nyelvtől függ.





Például, A C ++ szintén objektum-orientált programozási nyelv . A C ++ támogatja az úgynevezett többszörös öröklődést, míg a Java csak az egyszeri öröklést.

Ez azt jelenti, hogy a Java nyelven egy szülőosztálynak sok gyermekosztálya lehet, de minden gyermekosztálynak csak egyetlen szülői osztálya lehet (egyetlen öröklés). Van azonban mód a közvetett többszörös öröklés elérésére a Java -ban, nagyszülő, szülő és gyermek kapcsolat létrehozásával.





Szülőosztály létrehozása Java nyelven

A szülőosztály kiválasztásának folyamata a szoftverkövetelmények dokumentumából objektum-orientált elemzés. E folyamat során az a kifejezést gyakran használják a lehetséges öröklési kapcsolatok azonosítására. A fenti példánkból kiindulva látnia kell, hogy a gyümölcs lesz a szülői osztályunk.

Példa a gyümölcsszülő osztályra


public class Fruit {
//Variable Declaration
protected String seed;
protected String skinColor;
protected String taste;
//Default Constructor
public Fruit(){
seed = '';
skinColor ='';
taste ='';
}
//Primary Constructor
public Fruit(String seed, String skinColor, String taste){
this.seed = seed;
this.skinColor = skinColor;
this.taste = taste;
}
//getters and setters
public String getSeed() {
return seed;
}
public void setSeed(String seed) {
this.seed = seed;
}
public String getSkinColor() {
return skinColor;
}
public void setSkinColor(String skinColor) {
this.skinColor = skinColor;
}
public String getTaste() {
return taste;
}
public void setTaste(String taste) {
this.taste = taste;
}
//eat method
public void eat(){
//general code on how to eat a fruit
}
//juice method
public void juice() {
//general code on how to juice a fruit
}
}

A fenti szülőosztály egyik legjelentősebb aspektusa az egyes változó deklarációkhoz használt hozzáférés -módosító. A védett hozzáférés-módosító ideális a szülői osztályokban való használatra, mivel megakadályozza, hogy a nem gyermekosztályok hozzáférjenek a szülőosztály adatattribútumaihoz.

A kód alján bemutatjuk a konstruktorokat, gettereket és beállítókat, amelyek bármely Java osztály általános építőkövei. Végül két módszerrel ismerkedhet meg (gyümölcslé és evés), amelyeket a programunk szülőosztályán hoztak létre, mert univerzálisak minden gyümölcsre - minden gyümölcs ehető és gyümölcsleves.

Gyermekosztályok létrehozása Java nyelven

A gyermekosztályokat általában speciális vagy származtatott osztályoknak nevezik, mert az állapotot és viselkedést örökölik a szülőktől, és gyakran testreszabják ezeket az attribútumokat, hogy pontosabbak legyenek.

Példánkat folytatva látnia kell, miért lenne a narancs a fenti gyümölcsosztály megfelelő gyermekosztálya.

Példa narancsos gyermekosztályra


public class Orange extends Fruit{
//variable declaration
private int supremes;
//default constructor
public Orange() {
supremes = 0;
}
//primary constructor
public Orange(String seed, String skinColor, String taste, int supremes){
super(seed, skinColor, taste);
this.supremes = supremes;
}
//getters and setters
public int getsupremes() {
return supremes;
}
public void setsupremes(int supremes) {
this.supremes = supremes;
}
//eat method
public void eat(){
//how to eat an orange
}
//juice method
public void juice() {
//how to juice and orange
}
//peel method
public void peel(){
//how to peel an orange
}
}

Különbség van a szokásos Java osztály deklaráció kinézete és a fenti kódunk között. A kiterjesztett kulcsszó az, amit a Java használ az öröklés lehetővé tétele érdekében.

A fenti példánkban a gyermekosztály (narancssárga) kiterjeszti a szülőosztályt (gyümölcs). Ezért a gyümölcsosztály állapotát és viselkedését a narancs osztály most elérheti és módosíthatja.

A narancs osztályunk egyedi tulajdonsága a supremes változónévvel azonosítható (ez a narancsban található kis szegmensek hivatalos neve). Itt jön szóba a specializáció; nem minden gyümölcsnek vannak felsőbbrendűségei, de minden narancsnak van, így logikus a fenntartási változó fenntartása a narancsosztály számára.

A hámozási módszer hozzáadása a már meglévő étkezési és gyümölcslé-módszerekhez szintén logikus, mert bár nem minden gyümölcs hámozható, a narancsot gyakran meghámozzák.

Ne feledje, hogy ha nem szándékozunk megváltoztatni a meglévő étkezési és gyümölcslé -módszereket, akkor nem kell őket a narancs osztályunkba sorolnunk. A narancs osztály módszerei felülírják a gyümölcsosztály bármely hasonló módszerét. Tehát ha minden gyümölcsöt ugyanúgy fogyasztanánk és facsarnánk, akkor nem kell ezeket a módszereket a narancs osztályban létrehoznunk.

A szerepkonstruktorok öröklődésben játszanak

Alapértelmezés szerint a szülőosztály -konstruktorokat a gyermekosztályok öröklik. Ezért, ha gyermekosztály -objektum jön létre, ez azt jelenti, hogy a szülőosztály -objektum is automatikusan jön létre.

Visszatérve a példánkhoz, minden új narancssárga tárgy létrehozásakor gyümölcsobjektum is létrejön, mert a narancs gyümölcs.

A színfalak mögött, amikor gyermekosztály -objektum jön létre, a szülőosztály konstruktorát hívják meg először, majd a gyermekosztály konstruktorát. A fenti narancssárga gyermekosztályunkban, ha narancssárga objektumot hozunk létre paraméterek nélkül, akkor meghívjuk az alapértelmezett gyümölcsosztály -konstruktőrt, majd az alapértelmezett narancssárga osztályú vállalkozót.

A fenti elsődleges konstruktorunkban a szuper módszer szükséges, mert meghatározza, hogy a szülő gyümölcsosztály elsődleges konstruktorát - és ne az alapértelmezett konstruktort - kell meghívni, amikor egy paraméterekkel rendelkező narancssárga objektum jön létre.

Mostantól használhatja az öröklést a Java -ban

Ebből a cikkből megtudhatta, hogy mi az öröklődés, hogyan működik, és miért olyan fontos fogalom a programozás során. Mostantól a Java programozási nyelv használatával hozhatja létre öröklési kapcsolatait. Továbbá most már tudja, hogyan lehet megkerülni a Java egyetlen öröklési szabályát nagyszülői kapcsolat létrehozásával.

Képhitel: Andreas Wohlfahrt / Pexels

Részvény Részvény Csipog Email Hogyan lehet megszervezni az objektum-orientált kódot örökléssel

Az objektumorientált programozás helyes beállítása azt jelenti, hogy tudnia kell az öröklődésről, és arról, hogyan lehet egyszerűsíteni a kódolást és csökkenteni a hibákat.

Olvassa tovább
Kapcsolódó témák
  • Programozás
  • Jáva
  • Objektumorientált programozás
A szerzőről Kadeisha Kean(21 cikk megjelent)

Kadeisha Kean Full Stack szoftverfejlesztő és műszaki/technológiai író. Megvan az a képessége, hogy leegyszerűsítse a legösszetettebb technológiai fogalmakat; olyan anyagot állít elő, amelyet minden technológiai kezdő könnyen megért. Szenvedélyesen ír, érdekes szoftvereket fejleszt és utazik a világban (dokumentumfilmeken keresztül).

Bővebben: Kadeisha Kean

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide