Hvad er forskellen mellem udvider og implementerer i Java

Hvad Er Forskellen Mellem Udvider Og Implementerer I Java



I Java er ' strækker sig ' og ' redskaber ” Nøgleord er afgørende for effektiv integrering af flere funktioner. For eksempel at arve de allerede tildelte funktionaliteter for at opdatere dem eller sortere dataene på en passende måde. I sådanne tilfælde er nøgleordene 'udvider' og 'implementerer' nyttige til at gøre tingene praktiske i udviklerens ende og administrere ressourcerne effektivt.

Denne blog vil fremhæve forskellene mellem Java 'extends' og 'implements'.







Java 'udvider' søgeord

Java ' strækker sig ' nøgleordet bruges af en børneklasse, dvs. ' afledt ' for at arve den overordnede klasse, dvs. ' grundlag ” ved at få adgang til dens funktionaliteter.



Syntaks



klasse A {
// legeme
}
klasse B udvider A {
// legeme
}





I denne syntaks, ' B ' svarer til den underordnede klasse, der arver forældreklassen ' EN ' via ' strækker sig ” nøgleord.

Eksempel 1: Brug af søgeordet 'udvider' i Java



Dette eksempel bruger ' strækker sig ' søgeord for at arve forælderen, dvs. ' grundlag ' klasse:

klasse Forældreklasse {
Streng x = 'Hår' ;
}
klasse børneklasse udvider forældreklassen {
offentlig String konkat ( ) {
Vend tilbage x.concat ( 'ry' ) ;
} }
offentlig klasse Forlænger {
offentlig statisk tomrum hoved ( Streng args [ ] ) {
børneklasseobjekt = ny børneklasse ( ) ;
System.out.println ( objekt.konkat ( ) ) ;
} }

I henhold til ovenstående kodestykke skal du anvende følgende trin:

  • For det første skal du erklære en forældreklasse ved navn ' Forældreklasse '.
  • I sin definition initialiseres den angivne variabel.
  • Arv nu en børneklasse fra forældreklassen via ' strækker sig ” nøgleord.
  • I den underordnede klassedefinition skal du definere en funktion med navnet ' concat() '.
  • I funktionsdefinitionen skal du kalde variablen fra den overordnede klasse og tilføje den angivne streng via den tilknyttede ' concat() ” metode.
  • I ' hoved() '-metoden, skal du oprette et underordnet klasseobjekt ved hjælp af ' ny ' søgeord og ' børneklasse() ” konstruktør.
  • Til sidst skal du aktivere børneklassefunktionen ' concat() ” via det oprettede objekt.

Produktion

I dette output kan det visualiseres, at forældreklassens funktionalitet, dvs. variabel(x) ” nedarves korrekt via søgeordet “extends”, og strengen er derfor sammenkædet i overensstemmelse hermed.

Java 'implementerer' nøgleord

Det ' redskaber ” nøgleord anvendes til at implementere en grænseflade i klassen fra den samme eller en ekstern fil.

Syntaks

offentlig grænseflade InterfaceName {
ugyldig x ( ) ;
standard ugyldig y ( ) {
// legeme
}
}
klasse z implementerer InterfaceName {
// klasses krop
}

I denne syntaks:

  • x ” refererer til en abstrakt metode.
  • og ” angiver standardmetoden.
  • klasse z ' svarer til den klasse, der implementerer ' Interfacenavn '-grænseflade via ' redskaber ” nøgleord.

Eksempel 2: Brug af nøgleordet 'implementerer' i Java

I dette særlige eksempel er en grænseflade bestående af ' abstrakt ' og ' Standard ” metoder kan implementeres i klassen.

Interface kode

offentlig grænseflade alder {
offentligt ugyldigt navn ( ) ;
standard ugyldig DOB ( ) {
System.out.println ( 'DOB -> 28/8/1999' ) ;
} }

I ovenstående grænsefladekode skal du inkludere en abstrakt metode med navnet ' navn() ' og definer standardmetoden ' DOB() ” udskrivning af den angivne besked hhv.

Klassekode

Fortsæt nu til følgende kodelinjer:

klasseprøve implementerer alder {
offentligt ugyldigt navn ( ) {
System.out.println ( 'Navn -> David' ) ;
} }
offentlig klasse interface2 {
offentlig statisk tomrum hoved ( Streng args [ ] ) {
prøveobjekt = ny prøve ( ) ;
objekt.navn ( ) ;
objekt.DOB ( ) ;
} }

I denne kodeblok:

  • Definer en klasse ved navn ' prøve 'implementering af grænsefladen' alder ' via ' redskaber ” nøgleord.
  • I sin (klasse) definition skal du definere den abstrakte metode ' navn() ” angivet i grænsefladen, der viser det angivne navn.
  • I ' hoved() ”-metoden, skal du oprette et klasseobjekt via den diskuterede tilgang.
  • Til sidst påkalder du abstrakt- og standardmetoden ved hjælp af henholdsvis det oprettede objekt.

Produktion

Dette resultat indebærer, at standardmetoden påberåbes, og den abstrakte metode anvendes korrekt baseret på den implementerede grænseflade.

Kerneforskelle mellem 'udvider' og 'implementerer' i Java

Følgende er nogle af de centrale forskelle mellem 'udvider' og 'implementerer' søgeord i Java:

strækker sig redskaber
Dette nøgleord kan bruges af en klasse til at arve dens overordnede klasse eller en grænseflade til at arve andre grænseflader. En klasse kan implementere grænsefladen via nøgleordet 'implementerer'.
Kun én forældreklasse kan udvides med en klasse. En klasse kan implementere/anvende flere grænseflader ad gangen.
Det er ikke obligatorisk for en underklasse, der udvider en overordnet klasse, at tilsidesætte alle metoderne i en overordnet klasse. Det er obligatorisk, at en klasse, der implementerer en grænseflade, også skal implementere/anvende alle grænseflademetoderne.

Konklusion

Det ' strækker sig ' nøgleord kan bruges af en klasse eller en grænseflade til at arve dens overordnede klasse eller andre grænseflader, hvorimod ' redskaber ” nøgleord bruges af en klasse til at implementere en grænseflade. Denne blog demonstrerede forskellene mellem 'udvider' og 'implementerer' i Java ved hjælp af praktiske eksempler.