De belangrijk verschil tussen pakket en interface in Java is dat Pakket helpt de klassen methodisch te categoriseren om ze gemakkelijk te kunnen openen en onderhouden, terwijl Interface helpt om meerdere overervingen te implementeren en om abstractie te bereiken.
Java is een van de meest populaire programmeertalen. Het grote voordeel van Java is dat het Object Oriented Programming ondersteunt. Deze methodologie maakt het mogelijk om de echte wereldobjecten in software te modelleren. Een klas is een blauwdruk om een object te maken. Elk object bevat gegevens of velden om de kenmerken of de eigenschappen en methoden te beschrijven om gedragingen te beschrijven. Dit artikel bespreekt twee concepten met betrekking tot OOP in Java in Java die pakket en interface zijn.
1. Overzicht en belangrijkste verschil
2. Wat is pakket in Java
3. Wat is Interface in Java
4. Vergelijking zij aan zij - Pakket versus interface in Java in tabelvorm
5. Samenvatting
Java biedt een groot aantal klassen. Het is moeilijk om alle klassen in één map te bewaren, omdat het moeilijk toegankelijk is. Dit kan de beheersbaarheid van het programma beïnvloeden. Java gebruikt pakketten om klassen te rangschikken. Het lijkt op een map. Java API groepeert klassen in verschillende pakketten op basis van de functionaliteit. Daarom bevat elk pakket een gerelateerde reeks klassen.
Enkele voorbeeldpakketten zijn als volgt. Het pakket java.io bevat de klassen die input en uitvoer ondersteunen. Het omvat File, PrintStream, BufferInputStream etc. Het pakket java.net bevat de netwerkgerelateerde klassen. Enkele voorbeelden zijn URL, Socket, ServerSocket. Het pakket java.awt bevat alle klassen die nodig zijn om grafische gebruikersinterfaces te maken. Dat zijn maar weinig Java API-pakketten.
Wanneer de programmeur een bepaalde klasse in het programma wil gebruiken, moet hij dat pakket importeren. Als de programmeur de klasse BufferInputStream in het pakket java.io wil gebruiken, moet hij de importinstructie als volgt schrijven.
importeer java.util.BufferInoutStream;
De onderstaande instructie importeert alle klassen in het hulpprogramma-pakket.
importeer java.util. *;
Het is ook mogelijk om door de gebruiker gedefinieerde pakketten te maken.
pakket werknemer;
public class Employee
Volgens het bovenstaande voorbeeld is de medewerker de pakketnaam. De categorie Werknemers maakt deel uit van het werknemerspakket. Dit bestand slaat als Employee.java op naar het werknemerspakket.
Bovendien is het mogelijk om een openbare klasse van het ene pakket naar het andere te importeren. Raadpleeg het volgende voorbeeld.
Figuur 01: Klasse A
Figuur 02: Klasse B
Klasse A bevindt zich in pakket 1 en bevat de openbare methode met de naam display. Klasse B zit in pakket 2 en bevat de hoofdmethode. Ook al zijn ze in afzonderlijke pakketten; klasse B kan een object van klasse A maken door package1 te importeren. Na het importeren van pakket 1 heeft klasse B toegang tot de gegevens en methoden van klasse A.
Overall helpt Package in Java om de projectbestanden te organiseren. Dit is erg handig bij het ontwikkelen van een groot systeem, omdat hiermee alle bestanden op een methodische manier kunnen worden opgeslagen. Bovendien laten de Java API-pakketten de programmeurs toe om reeds bestaande klassen te gebruiken.
Soms weet de programmeur de definitie van de methode niet. In deze situaties kan de programmeur de methode alleen declareren. Een abstracte methode is een methode die geen definitie heeft. Het heeft alleen de verklaring. Als er ten minste één abstracte methode is, wordt die klasse een abstracte klasse. Bovendien kan de abstracte klasse zowel abstracte methoden als niet-abstracte methoden bevatten. De programmeur kan geen objecten maken uit abstracte klassen.
Wanneer een klasse een abstracte klasse uitbreidt, moet de nieuwe klasse alle abstracte methoden in de abstracte klasse definiëren. Met andere woorden, neem aan dat abstracte klasse A een abstracte methode heeft die display wordt genoemd. Klasse B breidt klasse A uit. Dan moet klasse B de methode-weergave definiëren.
Stel dat zowel A als B abstracte klassen zijn. Als klasse C A en B verlengt, moet die klasse C de abstracte methoden van beide klassen definiëren. Dit is meerdere overerving. Java biedt geen ondersteuning voor meerdere overerving. Om het te implementeren, moet de programmeur interfaces gebruiken. Als A en B interfaces zijn, kan klasse C ze implementeren. Raadpleeg het volgende voorbeeld.
Figuur 03: Interface A
Figuur 04: Interface B
De interface A heeft de abstracte methode display1 en interface B heeft de abstracte methode abstract2.
Figuur 05: Klasse C
Klasse C implementeert zowel A- als B-interfaces. Daarom moet het beide methoden definiëren.
Figuur 06: Hoofdmethode
Nu, in de hoofdmethode, is het mogelijk om een object van C te maken en beide methoden aan te roepen. Evenzo helpen interfaces om meerdere overerving in Java te implementeren.
Anders dan multiple inheritance, helpen interfaces bij het bereiken van abstractie. Het is een belangrijk concept in OOP. Met abstractie kunnen de implementatiedetails worden verborgen en wordt alleen de functionaliteit aan de gebruiker getoond. Verder maakt het de focus mogelijk op wat het object doet in plaats van hoe het wordt gedaan. Omdat een interface uit abstracte methoden bestaat, helpt het om abstractie te archiveren.
Pakket is een groep verwante klassen die toegangsbescherming en naamruimtebeheer bieden. Interface is een referentietype dat lijkt op klasse, een verzameling abstracte methoden. Pakket helpt om de klassen methodisch te categoriseren om ze gemakkelijk te kunnen openen en onderhouden. Aan de andere kant helpt Interface bij het implementeren van meerdere erfenissen en het bereiken van abstractie. Dit is het belangrijkste verschil tussen pakket en interface in Java. Verder is de manier om een pakket te schrijven in kleine letters zoals java.util, java.awt. Als de naam van de interface Area is, wordt deze geschreven in Interface Area.
Het verschil tussen Pakket en Interface in Java is dat Pakket helpt om de klassen methodisch te categoriseren om ze gemakkelijk te kunnen openen en onderhouden, terwijl Interface helpt om meerdere overervingen te implementeren en om abstractie te bereiken.
1. Trainingspunt. "Java-pakketten." Tutorials Point, 24 maart 2018. Beschikbaar Hier
2. Trainingspunt. "Java-interfaces." Tutorials Point, 24 maart 2018. Beschikbaar Hier