Sådan implementeres flere arv i Java?



Denne artikel hjælper dig med at implementere flere arv i Java gennem grænseflader og følge den op med programmatisk demonstration.

Denne artikel hjælper dig med at implementere et koncept, som ellers ikke er muligt at implementere i Java. Jeg henviser til flere . Følgende punkter vil blive berørt i denne artikel,

Så lad os komme i gang med denne artikel om flere arv i Java,





Flere arv i Java

Objektorienteret programmering giver en bruger funktionen af ​​flere arv, hvor en klasse kan arve egenskaberne for mere end en eneforælderklasse. I enklere termer betyder multipel arv en klasse, der strækker sig mere end en klasse.

Programmeringssproget for java kan ikke bruge denne funktion direkte. Det kan opnås indirekte ved brug af grænseflader.



Gå videre med denne artikel om flere arv i Java,

Prøveprogram

I det følgende eksempel har vi to grænseflader: Motorcykel og cyklus. Motorcykelgrænseflade består af attributhastigheden. Metoden er totalDistance (). Cyklusgrænseflade består af attributafstanden () og metodens hastighed ().

Begge disse grænseflader er implementeret af klassen TwoWheeler.



interface MotorBike {int speed = 50 public void totalDistance ()} interface Cycle {int distance = 150 public void speed ()} public class TwoWheeler implementerer MotorBike, Cycle {int totalDistance int avgSpeed ​​public void totalDistance () {totalDistance = speed * distance System .out.println ('Total tilbagelagt distance:' + totalDistance)} offentlig tomrumshastighed () {int avgSpeed ​​= totalDistance / speed System.out.println ('Gennemsnitlig hastighed opretholdt:' + avgSpeed)} offentlig statisk ugyldig main (String args []) {TwoWheeler t1 = ny TwoWheeler () t1.totalDistance () t1.speed ()}}

Produktion

Samlet tilbagelagt distance: 7500

Gennemsnitlig hastighed opretholdt: 150

Ovenstående program undgår tvetydighed, selv når klasser bruges i stedet for grænseflader. Java understøtter det dog ikke. Når begge klasser har den samme metode, kan kompilatoren ikke beslutte, hvilken metode der skal kaldes til. Brug af interface undgår denne tvetydighed, da metoderne til interface er abstrakte som standard.

Gå videre med denne artikel om flere arv i Java,

Flere arv uden tvetydighed

interface InterfaceOne {public void disp ()} interface InterfaceTwo {public void disp ()} public class Hovedværktøjer InterfaceOne, InterfaceTwo {@Override public void disp () {System.out.println ('display () method implementation')} public statisk ugyldigt hoved (String args []) {Main m = ny Main () m.disp ()}}

Produktion

display () metodeimplementering

Main-metoden implementerer både grænsefladerne, dvs. InterfaceOne og InterfaceTwo. Det udføres uden nogen tvetydighed.

Lad os se på et andet eksempel for en bedre forståelse af flere arv:

interface Syng

{

standard ugyldigt singRock () {

System.out.println (“Jeg synger rock”)

}

}

interface Dans

{

standard ugyldig danceSlow () {

System.out.println ('Jeg danser langsomt!')

c ++ algoritmesortering

}

}

offentlig klasse Menneskelige redskaber Syng, dans

{

offentlig statisk ugyldig hoved (String [] args)

{

Menneske h = nyt menneske ()

h.singRock ()

h.danceSlow ()

}

}

Produktion

Jeg synger rock

Jeg danser langsomt!

Således kan flere arv opnås ved hjælp af metoderne diskuteret i denne artikel.

Således er vi nået til slutningen af ​​denne artikel om 'Multiple Arv i Java'. Hvis du ønsker at lære mere, skal du tjekke af Edureka, et betroet online læringsfirma. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.