Pregled nasljeđivanja u Javi

Za razliku od ostalih programskih jezika kao što je C, Java nudi mehanizam pomoću kojeg članovi podataka i metode jedne klase nasljeđuju drugu klasu. Taj je postupak u Javi poznat pod nazivom Nasljeđivanje. Da bi se naslijedilo od klase, koristi se ključna riječ 'extends'. Nasljeđivanje u Javi dopušta ponovnu upotrebu koda tako da klasa treba napisati samo jedinstvene značajke, a ostatak koda se može proširiti iz druge klase. Klasa koja nasljeđuje iz druge klase poznata je kao podrazred ili podređena klasa, a klasa koja se nasljeđuje poznata je kao nadređena klasa ili pretklasa. Sintaksa, vrste i primjena nasljeđivanja raspravljat će se u sljedećim odjeljcima.

Vrste nasljeđivanja na Javi

Nasljeđivanje označava odnos IS-A koji je inače poznat i kao odnos roditelj-dijete. Roditelj i dijete već su spomenuti u uvodnom dijelu.

Prije nego što prijeđemo na vrste nasljeđivanja u javi, prvo da vidimo sintaksu nasljeđivanja.

Sintaksa:

class apple extends fruit
(
//methods and fields
)

Ovdje je jabuka potklasa, a voće roditeljska klasa. To znači da jabuka ima određena jedinstvena svojstva, a ima i svojstva voća.

U Javi postoje 4 različite vrste nasljeđivanja.

  • Jedno nasljeđivanje
  • Nasljeđivanje na više razina
  • Hijerarhijsko nasljeđivanje
  • Višestruko nasljeđivanje (uz pomoć sučelja)

Sada ćemo pogledati svaki od njih detaljno.

1. Pojedinačno nasljeđivanje

Klasa koja se proteže samo jedna klasa. U sljedećem primjeru, jabuka klase proširuje voće klase.

tj. Voće je superklasa, a Apple je podrazred koji proširuje svojstva i ponašanje Fruit klase.

Slijedi demonstracija jedinstvenog nasljeđivanja u Javi.

Kodirati:

//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
)
)

Izlaz:

2. Nasljeđivanje na više razina

U ovoj vrsti nasljeđivanja klasa će se proširiti iz druge klase, a izvedena klasa djeluje kao osnovna klasa za neku drugu klasu.

Na primjer, na slici je klasa četverotočkaša roditeljska klasa, a automobil je izvedena klasa klase s četiri kotača. U isto vrijeme, klasa automobila može biti osnovna klasa za klasu Maruti.

Kodirati:

//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();
)
)

Izlaz:

3. Hijerarhijsko nasljeđivanje

U hijerarhijskom nasljeđivanju osnovna klasa ima više od jedne dječje klase, što znači da svojstva klase stječu raznim klasama.

Na primjer, vozilo klase ima podklase automobila, bicikala, skutera.

Kodirati:

//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();
)
)

Izlaz:

4. Višestruko nasljeđivanje

Višestruko nasljeđivanje u javi je vrsta nasljeđivanja u kojoj klasa ima više od jedne roditeljske klase.

Na primjer, klasa C stječe svojstva i klase A i klase B.

Ali u Javi se višestruko nasljeđivanje može postići samo korištenjem sučelja.

Pretpostavimo da se više nasljeđivanja implementira kao i druge vrste nasljeđivanja, može doći do pogreške pri sastavljanju na sljedeći način.

Kodirati:

//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();
)
)

Ovdje se izlaz neće prikazati jer sadrži pogrešku u vremenu prevođenja.

Važnost nasljeđivanja u Javi

  • Ponovna upotreba koda: nasljeđivanje pomaže u smanjenju prepisivanja koda. tj. Kôd se može ponovo koristiti u drugim klasama, a podređena klasa mora upisati svoja jedinstvena svojstva. To smanjuje potrošnju vremena i složenost koda.
  • Za preglasavanje metoda: Metoda koja je već prisutna u roditeljskoj klasi deklarira podređena klasa, tada je poznata i kao prevladavanje metode.
Napomena: Pretpostavimo da, ako se klasa ne smije ponovno koristiti, tada se može koristiti ključna riječ konačna.

Sintaksa:

final class A
(
. . .
)
Class B extends A
(
. . .
)

U tom će se slučaju stvoriti pogreška koja kaže "Ne mogu se naslijediti od konačnog A".

Zaključak

Nasljeđivanje u Javi je svojstvo kojim druga klasa stječe svojstva i ponašanje klase radi osiguravanja ponovne upotrebe koda. U Javi postoje različite vrste nasljeđivanja kao što su Jedno nasljeđivanje, Nasljeđivanje na više razina, Hijerarhijsko nasljeđivanje i Više nasljeđivanje na Javi. U ovom dokumentu obrađeno je nekoliko važnih aspekata nasljeđivanja.

Preporučeni članci

Ovo je vodič za nasljeđivanje na Javi. Ovdje raspravljamo o važnosti i različitim vrstama nasljeđivanja u Javi, zajedno sa sintaksom, primjerima i implementacijom koda. Možete pogledati i sljedeće članke da biste saznali više -

  1. JScrollPane u Javi
  2. Sjednice u PHP-u
  3. Razvrstavanje u Javi
  4. Što je Java Garbage Collector?
  5. Alati za implementaciju Java
  6. Prevladavanje u Javi
  7. Nasljeđivanje u PHP-u

Kategorija: