Kako implementirati višestruko nasljeđivanje u Javi?



Ovaj vam članak pomaže da implementirate višestruko nasljeđivanje u Javi putem medija Sučelja i pratite ga programskim demonstracijama.

Ovaj će vam članak pomoći da implementirate koncept koji inače nije moguće implementirati u Javi. Mislim na višestruko . U ovom će se članku dotaknuti sljedeća uputstva,

Pa krenimo s ovim člankom Višestrukog nasljeđivanja u Javi,





Višestruko nasljeđivanje u Javi

Objektno orijentirano programiranje pruža korisniku značajku višestrukog nasljeđivanja, pri čemu klasa može naslijediti svojstva više od jedne roditeljske klase. Jednostavnije rečeno, višestruko nasljeđivanje znači klasu koja se proteže više od jedne klase.

Programski jezik Java ne može izravno koristiti ovu značajku. To se može postići neizravno korištenjem sučelja.



Nastavljajući s ovim člankom o višestrukom nasljeđivanju u Javi,

Uzorak programa

U sljedećem primjeru imamo dva sučelja: motocikl i bicikl. Sučelje motocikla sastoji se od atributa brzina. Metoda je totalDistance (). Sučelje ciklusa sastoji se od udaljenosti atributa () i brzine metode ().

Oba ova sučelja implementira klasa TwoWheeler.



sučelje MotorBike {int speed = 50 public void totalDistance ()} Ciklus sučelja {int distance = 150 public void speed ()} javna klasa TwoWheeler implementira MotorBike, Cycle {int totalDistance int avgSpeed ​​public void totalDistance () {totalDistance = speed * distance System .out.println ('Ukupna prijeđena udaljenost:' + totalDistance)} brzina javne praznine () {int avgSpeed ​​= totalDistance / speed System.out.println ('Prosječna brzina održavana:' + avgSpeed)} javna statička void glavna (String args []) {TwoWheeler t1 = novi TwoWheeler () t1.totalDistance () t1.speed ()}}

Izlaz

Ukupna prijeđena udaljenost: 7500

Prosječna održavana brzina: 150

Gore navedeni program izbjegava dvosmislenost čak i kada se klase koriste umjesto sučelja. Međutim, Java to ne podržava. Kada obje klase imaju istu metodu, sastavljač nije u mogućnosti odlučiti hoće li se metoda pozivati. Korištenje sučelja izbjegava ovu dvosmislenost jer su metode sučelja prema zadanim postavkama apstraktne.

Nastavljajući s ovim člankom o višestrukom nasljeđivanju u Javi,

Višestruko nasljeđivanje bez dvosmislenosti

sučelje InterfaceOne {public void disp ()} interface InterfaceTwo {public void disp ()} public class Glavna implementira InterfaceOne, InterfaceTwo {@Override public void disp () {System.out.println ('display () method implementation')} public static void main (String args []) {Main m = new Main () m.disp ()}}

Izlaz

dinamičko dodjeljivanje memorije u c ++ s primjerom programa

prikaz () implementacija metode

Glavna metoda implementira oba sučelja, tj. InterfaceOne i InterfaceTwo. Izvršava se bez ikakvih dvosmislenosti.

java c ++ python

Pogledajmo još jedan primjer za bolje razumijevanje višestrukog nasljeđivanja:

sučelje Sing

{

zadana void singRock () {

System.out.println ('Pjevam rock')

}

}

sučelje Dance

{

zadana void danceSlow () {

System.out.println ('Plešem sporo!')

}

}

javni razred Ljudska oprema Pjevaj, pleši

{

javna statička void glavna (String [] args)

{

Čovjek h = novi Čovjek ()

h.singRock ()

java stvoriti niz objekata

h.danceSlow ()

}

}

Izlaz

Pjevam rock

Plešem polako!

Dakle, višestruko nasljeđivanje može se postići metodama razmatranim u ovom članku.

Tako smo došli do kraja ovog članka o 'Višestrukom nasljeđivanju u Javi'. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.