Az öröklés áttekintése a Java-ban
Más programozási nyelvektől, például a C-től eltérően, a Java olyan mechanizmust kínál, amellyel az egyik osztály tagjait és módszereit egy másik osztály örökli. Ezt a folyamatot Java-ban örökségnek hívják. Az osztályból való öröklés érdekében az 'extens' kulcsszót kell használni. A Java öröklődése lehetővé teszi a kód újrafelhasználhatóságát, így az osztálynak csak az egyedi jellemzőket kell megírnia, és a kód többi része kibővíthető a másik osztálytól. A másik osztálytól örökölt osztályt alosztálynak vagy gyermekosztálynak, az öröklődő osztályt szülőosztálynak vagy szuperosztálynak nevezzük. A szintaxist, a típusokat és az öröklés megvalósítását a következő szakaszokban tárgyaljuk.
Az öröklés típusai a Java-ban
Az öröklődés IS-A kapcsolatot jelent, amelyet más néven szülő-gyermek kapcsolatnak neveznek. A szülőt és a gyermeket már említik a bevezető részben.
Mielőtt a java-ban levő örökség típusához térnénk, először nézzük meg az öröklés szintaxisát.
Szintaxis:
class apple extends fruit
(
//methods and fields
)
Itt az alma az alosztály, a gyümölcs a szülőosztály. Ez azt jelenti, hogy az almának van bizonyos egyedi tulajdonságai, valamint a gyümölcs tulajdonságai is.
A Java-ban 4 különféle típusú öröklés létezik.
- Egyetlen öröklés
- Többszintű öröklés
- Hierarchikus öröklés
- Több öröklés (interfészek segítségével)
Most nézzük meg mindegyiket részletesen.
1. Egyetlen öröklés
Olyan osztály, amely csak egy osztályt fed le. A következő példában az osztályalma kiterjeszti az osztály gyümölcsét.
azaz a gyümölcs a szuper osztály, az Apple az alosztály, amely kiterjeszti a gyümölcs osztály tulajdonságait és viselkedését.
Az alábbiakban bemutatjuk az egyetlen öröklést Java-ban.
Kód:
//Java program to demonstrate Single Inheritance
//parent class
class fruit (
public void taste()
(
System.out.println("Fruits are sweet");
)
)
//child class of fruit
class apple extends fruit
(
public void shape()
(
System.out.println("Apple is round");
)
)
public class InheritanceExample
(
public static void main(String() args) (
apple fr = new apple(); //object of child class
fr.taste(); //call method of parent class
fr.shape(); //call method of child class
)
)
Kimenet:
2. Többszintű öröklés
Az ilyen típusú öröklésnél az osztály kibővül egy másik osztályból, és a származtatott osztály más osztályok alaposztályaként működik.
Például az ábrán a négykerekű osztály a szülőosztály, az autó a származtatott négykerekű osztály. Ugyanakkor az osztályautó lehet a Maruti osztály alap osztálya.
Kód:
//Java program to demonstrate Multiple Inheritance
//parent class
class fourwheeler (
public void wheels()
(
System.out.println("I have 4 wheels");
)
)
//child class of fourwheeler and parent of maruti
class car extends fourwheeler
(
public void type()
(
System.out.println("I'm a car");
)
)
//child class of car class
class maruti extends car
(
public void comp()
(
System.out.println("I'm maruti");
)
)
public class InheritanceExample
(
public static void main(String() args) (
maruti fr = new maruti(); //object of child class
fr.wheels();
fr.type();
fr.comp();
)
)
Kimenet:
3. Hierarchikus öröklés
A hierarchikus öröklés során az alaposztálynak egynél több gyermekosztálya van, ami azt jelenti, hogy egy osztály tulajdonságait különböző osztályok szerezik meg.
Például egy osztályú járművek alkategóriái vannak autók, kerékpárok, robogók.
Kód:
//Java program to demonstrate Hierarchical Inheritance
//parent class
class vehicle (
public void wheels()
(
System.out.println("I have wheels");
)
)
//first child class of vehicle class
class bike extends vehicle
(
public void countwl()
(
System.out.println("I am a bike and has 2 wheels");
)
)
//second child class of vehicle class
class car extends vehicle
(
public void countwlc()
(
System.out.println("I am a car and has 4 wheels");
)
)
//third child class of vehicle class
class scooter extends vehicle
(
public void countwls()
(
System.out.println("I am a scooter and has 2 wheels");
)
)
public class InheritanceExample
(
public static void main(String() args) (
scooter sc = new scooter(); //object of scooter class
sc.wheels();
sc.countwls();
car c = new car(); //object of car class
c.wheels();
c.countwlc();
bike b= new bike();//object of bike class
b.wheels();
b.countwl();
)
)
Kimenet:
4. Több öröklés
A java többszörös öröklése olyan öröklés típusa, amelyben az osztálynak egynél több szülőosztálya van.
Például a C osztály megszerzi mind az A, mind a B osztály tulajdonságait.
A Java-ban azonban a többszörös öröklés csak interfészek használatával érhető el.
Tegyük fel, hogy a többszörös öröklést más öröklésfajtákhoz hasonlóan hajtják végre, a fordítási idő hiba az alábbiak szerint fordulhat elő.
Kód:
//Java program to demonstrate multiple Inheritance
//parent class
class A
(
public void hh()
(
System.out.println("A is working");
)
)
class B
(
public void hh()
(
System.out.println("B is working");
)
)
class C extends A, B
(
//code for class c
)
public class InheritanceExample
(
public static void main(String() args) (
C sc = new C(); //object of C class
C.hh();
)
)
Itt a kimenet nem jelenik meg, mivel fordítási idő hibát tartalmaz.
Az öröklés fontossága a Java-ban
- Kód újrafelhasználhatóság: Az öröklődés segít csökkenteni a kód átírását. Vagyis a kódot más osztályok is felhasználhatják, és a gyermekosztálynak csak saját egyedi tulajdonságait kell írnia. Ez csökkenti a kód időigényét és összetettségét.
- A módszer felülbírálása esetén: A szülőosztályban már létező módszert a gyermekosztály deklarálja, majd úgy ismerték, mint a módszer felülírását.
Szintaxis:
final class A
(
. . .
)
Class B extends A
(
. . .
)
Ebben az esetben hiba keletkezik, amely azt mondja: „Nem örökölhetem az A végsőből”.
Következtetés
Az öröklés a Java-ban olyan tulajdonság, amellyel egy osztály tulajdonságait és viselkedését egy másik osztály megszerezte a kód újrafelhasználhatóságának biztosítása érdekében. Különböző típusú öröklődések vannak a Java-ban, mint például az egyetlen öröklés, a többszintű öröklés, a hierarchikus öröklés és a többszörös öröklés a Java-ban. Ebben a dokumentumban az öröklés számos fontos szempontja szerepel.
Ajánlott cikkek
Ez egy útmutató a Java örökléshez. Itt megvitatjuk a java-ban szereplő öröklés fontosságát és különféle típusait, a szintaxist, a példákat és a kód megvalósítását. A következő cikkeket is megnézheti további információkért -
- JScrollPane Java-ban
- Ülések a PHP-ben
- Rendezés Java-ban
- Mi a Java szemétgyűjtő?
- Java telepítési eszközök
- A Java alapon érvényes
- Öröklés a PHP-ben