Anbefalt, 2022

Redaksjonens

Forskjellen mellom utvider og implementerer søkeord i Java

Søkeordene utvides og redskaper brukes til å arve funksjonene til en allerede eksisterende foreldreblokk i nyopprettet barneblokk. Ved å utvide søkeord kan en nyopprettet klasse (underklasse) arve egenskapene til en eksisterende klasse (superklasse). Ved hjelp av redskaper søkeord en nyopprettet klasse kan implementere alle metodene for et grensesnitt. Den primære forskjellen mellom søkeord strekker seg og implementerer er at en klasse utvider en annen klasse for å arve alle sine medlemmer, mens en klasse implementerer et grensesnitt for å arve alt det metodene og implementere dem i henhold til kravet. Det er noen andre forskjeller mellom søkeordet strekker seg og redskaper som er diskutert i et sammenligningskart som er vist nedenfor.

Sammenligningskart

Grunnlag for sammenligningStrekkerredskaper
grunn~~POS=TRUNCDet utvidede søkeordet brukes til å lage en underklasse med funksjoner av en superklasse.Redskapet Søkeord brukes til å implementere et grensesnitt
metoderDet utvidede søkeordet kan ikke overstyre alle metodene til en superklasse.Redskapsordet må implementere alle metodene for et implementert grensesnitt.
KlasseEn klasse kan utvide bare en superklasse.En klasse kan implementere flere interfaces.
InterfaceEt grensesnitt kan utvide mer enn ett grensesnitt.Et grensesnitt kan ikke implementere et annet grensesnitt.

Definisjon av utvider søkeord

Arv er et viktig konsept i Objektorientert Programmering, oppnås når en underklasse utvider en annen superklasse. En underklasse har lov til å utvide kun en superklasse. En klasse kan aldri utvide mer enn en superklasse i Java. Når en klasse utvider en annen klasse, kan den overstyre metodene som er definert i en superklasse. La oss forstå søkeordet strekker seg ved hjelp av et eksempel.

 klasse A {streng s; A (streng s1) {s = s1; } // visningsstreng tomt display () {System.out.println (+ s); }} klasse B utvider A {String i; B (streng s1, streng i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * display () av ​​klasse A påkalt. * / System.out.println (+ i); }} klasse Overstyr {offentlig statisk tomt hoved (String args []) {B ob = ny B (Tech, Differences); ob.display (); / * visning av klasse B påkalt * /}} / * ut satt * / Tech Forskjeller 

I overkoden kan du observere at klasse B har forlenget klasse A og har tilsidesatt metodevisningen () definert i klasse A. På samme måte kan et grensesnitt utvide mer enn ett grensesnitt om gangen. Som grensesnitt trenger ikke å implementere noen metode for det utvidede grensesnittet, derfor er det lov å arve flere grensesnitt om gangen.

Definisjon av implementerer søkeord

Ved hjelp av søkeordredskapene, arver en klasse alle metodene i et grensesnitt. Når en klasse implementerer et grensesnitt, må denne klassen implementere alle metodene for implementert grensesnitt. Et grensesnitt kan aldri implementere et annet grensesnitt, da implementerer søkeordlover implementering av metodene, men et grensesnitt implementerer aldri metoder i det, så det er umulig for et grensesnitt å implementere et annet grensesnitt. La oss forstå implementere søkeord ved hjelp av et eksempel.

 grensesnitt strenger {void display (String s); } grensesnitt heltall {void show (int i); } klasse Demo implementerer strenge, heltall {void show (int i) {System.Out.Println ("heltall verdi:" + i); } ugyldig visning (streng s) {System.Out.Println ("strengverdi:" + s); }} klasse Demo_main {offentlig statisk tomrom main (string args []) {Demo d = ny Demo (); d.display ( "TechDifferences"); d.show (2); }} / * utgang * / TechDifferences 2 

Som i koden ovenfor kan du se at klassedemoen implementerer to grensesnittstrenger og heltall og har implementert metodene deklarert i både grensesnittene som vises () og show ().

Viktige forskjeller mellom strekker seg og implementerer

  1. En klasse kan arve en annen klasse, eller et grensesnitt arver andre grensesnitt ved hjelp av et søkeord strekker seg, mens en klasse kan implementere grensesnitt ved hjelp av et søkeordredskaper.
  2. En underklasse som utvider en superklasse, kan eller ikke overstyre alle metodene i en superklasse. På den annen side må en klasse som implementerer et grensesnitt, definere / implementere alle metodene i det grensesnittet.
  3. En klasse kan implementere et hvilket som helst antall grensesnitt samtidig. På den annen side kan en klasse utvide kun en superklasse.
  4. Et grensesnitt kan utvide et hvilket som helst antall grensesnitt, men et grensesnitt kan aldri implementere noe annet grensesnitt som implementeringsmiddel som definerer metodene og grensesnittet alltid har abstrakte metoder slik at et grensesnitt aldri kan implementere et annet grensesnitt.

Konklusjon:

Jeg konkluderer med diskusjonen om at implementering av et grensesnitt gjør koden mer fleksibel enn å utvide en klasse. Som det unngår begrensningen av å arve bare en superklasse i Java. Ved hjelp av redskaper søkeord en klasse kan arve egenskaper av flere enn en grensesnitt.

Top