Java er et programmeringsspråk utviklet av Sun Microsystems. Java kan brukes til å utvikle ulike applikasjoner. Det er et multi-paradigm-språk som støtter objektorientert, strukturert etc. Den største fordelen med Java er at den støtter Objektorientert programmering (OOP). Programmereren kan lage klasser og objekter. Det er fire søyler i OOP. De er arv, polymorfisme, abstraksjon og innkapsling. Arv og grensesnitt er relatert til OOP. De nøkkelforskjell mellom arv og grensesnitt er det arv er å utlede nye klasser fra eksisterende klasser og et grensesnitt er å implementere abstrakte klasser og flere arv.
1. Oversikt og nøkkelforskjell
2. Hva er arvelighet i Java
3. Hva er grensesnitt i Java
4. Likheter mellom arv og grensesnitt i Java
5. Side ved side-sammenligning - arv mot grensesnitt i Java i tabellform
6. Sammendrag
Arv kan oppnå kodebrukers brukervennlighet. Arv bidrar til å gjenbruke egenskapene og metodene til en eksisterende klasse. Mekanismen for å avlede ny klasse ved hjelp av gammel klasse kalles arv. Den gamle klassen er kjent som foreldre klasse eller super klasse. Den avledede klassen kalles barneklasse eller underklasse.
Syntaxen til Java arv er som følger.
klasse underklassenavn utvider superklassenavn
variabel deklarasjon;
metoden deklarasjon;
Arvskonsept kan forklares ved hjelp av følgende eksempel. Anta at det er en klasse som heter A som følger.
offentlig klasse A
offentlig tomromsummer ()
System.out.println ( “Sum”);
Hvis vi vil legge til en ny metode uten å endre den eksisterende klassen, kan vi gjøre det som følger.
offentlig klasse B
offentlig tomrumsdel ()
System.out.println ( “sub”);
Programmerer kan bruke arv til å bruke klasse A sum ().
offentlig klasse B utvider klasse A
offentlig tomrumsdel ()
System.out.println ( “sub”);
I hovedfunksjonen er det mulig å lage et objekt av B og samtale sub (), som tilhører klasse B og sum (), som tilhører klasse A ved hjelp av arv.
offentlig statisk tomrom main (String [] args)
B obj = ny B ();
obj.sub ();
obj.sum ();
Det finnes forskjellige typer arv. De er enkelt arv, flere arv, multi-level arv og hierarkisk arv. I enkelt arv, Det er en grunnklasse og en avledet klasse. I multi-level arv, Det er tre klasser nemlig grunnklass, mellomklasse og avledet klasse. Mellomklassen arver fra grunnklassen, og avledet klasse arver fra mellomklasse. I hierarkisk arv, Det er en grunnklasse og mange avledede klasser. Det er en spesiell type kjent som Hybrid arv. Det er en kombinasjon av to eller flere typer arv.
Figur 01: Arv
I Flere arv Det er mange grunnklasser og en avledet klasse. Anta at klasse A og B er grunnklassene. Klasse C er den avledede klassen. Hvis både A- og B-klasser har samme metode og programmereren kaller den metoden fra den avledede klassen, vil det føre til et tvetydighetsproblem. Å arve to klasser kan forårsake en kompileringstid feil. Derfor støttes ikke flere arv i Java. Et grensesnitt kan brukes til å overvinne dette problemet.
Abstraksjon er en prosess for å gjemme implementeringsdetaljer og bare vise funksjonalitetene til brukeren. Abstraksjon kan oppnås ved hjelp av abstrakte klasser eller grensesnitt. En abstrakt metode er en metode uten implementering. En klasse med minst en abstrakt metode er en abstrakt klasse. Eksempel på en abstrakt klasse er som følger.
abstrakt klasse A
abstrakt tomrom sum ();
Anta at det er to abstrakte klasser som A og B. For å implementere abstrakte metoder for A og B, opprettes en ny klasse C. Da skal klasse C utvide både A og B., men flere arv støttes ikke i Java. Derfor bør bruker grensesnitt. Grensesnitt kan brukes til å erklære metoder, men det er ikke mulig å definere metoder. Det er ikke mulig å lage et objekt ved hjelp av grensesnitt. Klasse C skal implementere alle metoder i grensesnitt A og B.
grensesnitt A
tomt sum ();
grensesnitt B
tomrom sub ();
klasse C implementerer A, B
offentlig tomromsummer ()
System.out.println ( “Summering”);
offentlig tomrumsdel ()
System.out.println ( “subtraksjon”);
Nå, i hovedprogrammet er det mulig å lage et objekt av C og ringe begge metodene.
offentlig statisk tomrom main (String [] args)
C obj = ny C ();
obj.sum ();
obj.sub ();
Så, grensesnitt kan bruke til å implementere flere arv.
En annen bruk av grensesnitt er at den gir sikkerhet. Se under koden nedenfor.
grensesnitt A
tomt sum ();
klasse B implementerer A
offentlig tomromsummer ()
System.out.println ( “Summering”);
offentlig tomrom multiplikasjon ()
System.out.println ( “Multiplikasjon”);
Når du lager et objekt av B, er det mulig å ringe begge metodene sum () og multiply (). Hvis programmereren ønsker å begrense bruk av multipliseringsfunksjonen (), er det mulig som følger.
offentlig statisk tomrom main (String [] args)
Et obj = nytt B ();
obj.sum ();
Et obj = nytt B (); vil opprette et objekt. Det er av type A og minnet er allokert som B. Det er mulig å ringe sum (), men kan ikke utføre multiplikasjon (). Denne begrensningen er gjort ved hjelp av grensesnitt.
Arv mot grensesnitt i Java | |
Arv er et OOP-konsept for å utlede nye klasser fra eksisterende klasser. | Grensesnitt er en mekanisme i OOP for å implementere abstraksjon og flere arv. |
bruk | |
Arv gir kodegenbruk. | Grensesnitt gir abstraksjon og flere arv. |
Java er et multi-paradigm programmeringsspråk som støtter objektorientert programmering. Arv og grensesnitt er relatert til objektorientert programmering. Forskjellen mellom arv og grensesnitt er at arv er å utlede nye klasser fra eksisterende klasser og grensesnitt er å implementere abstrakte klasser og flere arv.
Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til off-line formål som per sitatnotat. Vennligst last ned PDF-versjon her Forskjellen mellom arv og grensesnitt i Java
1.Point, opplæringsprogrammer. "Java arv.", Tutorials Point, 31. okt. 2017. Tilgjengelig her
2.Point, opplæringsprogrammer. "Java-grensesnitt." , Tutorials Point, 31. oktober 2017. Tilgjengelig her
1. 'CPT-OOP-arv-sykler' Av Pluke - Eget arbeid, (Public Domain) via Commons Wikimedia