Forskjellen mellom pakke og grensesnitt i Java

De nøkkelforskjell mellom pakken og grensesnittet i Java er det Pakken bidrar til å kategorisere klassene metodisk for å få tilgang til og vedlikeholde dem enkelt, mens Interface bidrar til å implementere flere arv og å oppnå abstraksjon.

Java er et av de mest populære programmeringsspråkene. Den største fordelen med Java er at den støtter Object Oriented Programming. Denne metoden tillater modellering av virkelige verden objekter i programvare. En klasse er en tegning for å skape et objekt. Hvert objekt inneholder data eller felt for å beskrive attributter eller egenskaper og metoder for å beskrive atferd. Denne artikkelen diskuterer to konsepter relatert til OOP i Java i Java som er pakke og grensesnitt.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er pakken i Java
3. Hva er grensesnitt i Java
4. Side ved side-sammenligning - Pakke vs grensesnitt i Java i tabellform
5. Sammendrag

Hva er pakken i Java?

Java gir et stort antall klasser. Å holde alle klassene i en enkelt mappe kan være vanskelig fordi det er vanskelig å få tilgang. Dette kan påvirke programstyringen. Java bruker pakker for å ordne klasser. Det ligner på en mappe. Java API grupperer klasser i forskjellige pakker i henhold til funksjonaliteten. Derfor inneholder hver pakke et relatert sett med klasser.

Eksempel på pakker i Java

Få eksempelpakker er som følger. Pakken java.io inneholder inngangs-, utgangsunderstøttende klasser. Den inkluderer File, PrintStream, BufferInputStream etc. Java.net-pakken inneholder nettverksrelaterte klasser. Noen eksempler er URL, Socket, ServerSocket. Pakken java.awt inneholder alle klassene som kreves for å bygge grafiske brukergrensesnitt. Det er få Java API-pakker.

Når programmereren ønsker å bruke en bestemt klasse i programmet, bør han importere den pakken. Hvis programmereren ønsker å bruke BufferInputStream-klassen i java.io-pakken, bør han skrive importoppstillingen som følger.

importer java.util.BufferInoutStream;

Under setningen vil importere alle klassene i util-pakken.

importer java.util. *;

Det er også mulig å opprette brukerdefinerte pakker.

pakke medarbeider;

offentlig klasse Ansatt

I følge eksemplet ovenfor er ansatt pakkenavnet. Ansattsklassen er en del av medarbeidspakken. Denne filen lagres som Employee.java til medarbeiderpakken.

Videre er det mulig å importere en offentlig klasse fra en pakke til en annen. Se følgende eksempel.

Figur 01: Klasse A

Figur 02: Klasse B

Klasse A er i pakke 1, og den inneholder den offentlige metoden som kalles display. Klasse B er i pakke 2, og den inneholder hovedmetoden. Selv om de er i separate pakker; klasse B kan skape et objekt av klasse A ved å importere pakke1. Etter å ha importert pakke 1, har klasse B tilgang til data og metoder for klasse A.

Samlet sett bidrar pakken i Java til å organisere prosjektfilene. Dette er veldig nyttig når du utvikler stort system fordi det tillater lagring av alle filene på metodisk måte. I tillegg til at Java API-pakkene tillater programmererne å bruke allerede eksisterende klasser.

Hva er grensesnitt i Java?

Noen ganger kan programmereren ikke vite definisjonen av metoden. I slike situasjoner kan programmereren kun deklarere metoden. En abstrakt metode er en metode som ikke har en definisjon. Den har bare erklæringen. Når det er minst en abstrakt metode, blir denne klassen en abstrakt klasse. Videre kan abstrakt klassen inneholde abstrakte metoder samt ikke-abstrakte metoder. Programmereren kan ikke lage objekter ut av abstrakte klasser.

Når en klasse utvider en abstrakt klasse, bør den nye klassen definere all den abstrakte metoden i abstrakt klassen. Med andre ord, anta at abstrakt klasse A har en abstrakt metode som kalles display. Klasse B utvider klasse A. Da skal klasse B definere metoden displayet.

Eksempel på grensesnitt i Java

Anta at både A og B er abstrakte klasser. Hvis klasse C strekker seg A og B, må klasse C definere abstrakte metoder for begge klasser. Dette er flere arv. Java støtter ikke flere arv. For å implementere det, bør programmøren bruke grensesnitt. Hvis A og B er grensesnitt, kan klasse C implementere dem. Se følgende eksempel.

Figur 03: Grensesnitt A

Figur 04: Grensesnitt B

Grensesnittet A har display1 abstrakt metode, og grensesnitt B har display2 abstrakt metode.

Figur 05: Klasse C

Klasse C implementerer både A- og B-grensesnitt. Derfor bør det definere begge metodene.

Figur 06: Hovedmetode

Nå i hovedmetoden er det mulig å lage et objekt av C og ringe begge metodene. På samme måte bidrar grensesnitt til å implementere flere arv i Java.

Annet enn flere arv bidrar grensesnitt til å oppnå abstraksjon. Det er et stort konsept i OOP. Abstraksjon gjør det mulig å skjule implementeringsdetaljer og kun vise funksjonaliteten til brukeren. Videre tillater det å fokusere på hva objektet gjør i stedet for hvordan det gjøres. Som grensesnitt består av abstrakte metoder, bidrar det til å arkivere abstraksjon.

Hva er forskjellen mellom pakken og grensesnittet i Java?

Pakken er en gruppe relaterte klasser som gir tilgangsbeskyttelse og navneplassadministrasjon. Grensesnitt er en referansetype som ligner på klassen som er en samling av abstrakte metoder. Pakken bidrar til å kategorisere klassene metodisk for å få tilgang til og vedlikeholde dem enkelt. På den annen side bidrar Interface til å implementere flere arv og å oppnå abstraksjon. Dette er den viktigste forskjellen mellom pakke og grensesnitt i Java. Videre er måten å skrive en pakke i små bokstaver som java.util, java.awt. Hvis grensesnittets navn er Areal, er det skrevet i grensesnittets område.

Sammendrag - Pakke vs grensesnitt i Java

Forskjellen mellom pakke og grensesnitt i Java er at pakken bidrar til å kategorisere klassene metodisk for å få tilgang til og vedlikeholde dem enkelt, mens grensesnittet bidrar til å implementere flere arv og å oppnå abstraksjon.

Henvisning:

1.Tutorials Point. "Java-pakker."  Tutorials Point, 24. mars 2018. Tilgjengelig her 
2.Tutorials Point. "Java-grensesnitt."  Tutorials Point, 24. mars 2018. Tilgjengelig her