La differenza fondamentale tra Package e Interface in Java è che Package aiuta a classificare metodicamente le classi per accedervi e mantenerle facilmente mentre Interface aiuta a implementare eredità multiple e a ottenere l'astrazione.
Java è uno dei linguaggi di programmazione più popolari. Il vantaggio principale di Java è che supporta la programmazione orientata agli oggetti. Questa metodologia consente di modellare gli oggetti del mondo reale nel software. Una classe è un progetto per creare un oggetto. Ogni oggetto contiene dati o campi per descrivere gli attributi o le proprietà ei metodi per descrivere i comportamenti. Questo articolo discute due concetti relativi all'OOP in Java in Java che sono Package e Interface.
Cos'è il pacchetto in Java?
Java fornisce un gran numero di classi. Tenere tutte le classi in un'unica cartella può essere difficile perché è difficile accedervi. Ciò può influire sulla gestibilità del programma. Java usa i pacchetti per organizzare le classi. È simile a una cartella. L'API Java raggruppa le classi in pacchetti diversi in base alla funzionalità. Pertanto, ogni pacchetto contiene un insieme correlato di classi.
Esempio di pacchetti in Java
Alcuni pacchetti di esempio sono i seguenti. Il pacchetto java.io contiene le classi di supporto dell'input e dell'output. Include File, PrintStream, BufferInputStream ecc. Il pacchetto java.net contiene le classi relative alla rete. Alcuni esempi sono URL, Socket, ServerSocket. Il pacchetto java.awt contiene tutte le classi richieste per creare interfacce utente grafiche. Questi sono alcuni pacchetti API Java.
Quando il programmatore vuole usare una certa classe nel programma, dovrebbe importare quel pacchetto. Se il programmatore desidera utilizzare la classe BufferInputStream nel pacchetto java.io, deve scrivere l'istruzione import come segue.
import java.util. BufferInoutStream;
L'istruzione sottostante importerà tutte le classi nel pacchetto util.
import java.util.;
È anche possibile creare pacchetti definiti dall'utente.
dipendente del pacchetto;
Dipendente pubblico {
}
Secondo l'esempio sopra, l'impiegato è il nome del pacchetto. La classe Impiegato fa parte del pacchetto Impiegato. Questo file viene salvato come Employee.java nel pacchetto del dipendente.
Inoltre, è possibile importare una classe pubblica da un pacchetto all' altro. Fare riferimento al seguente esempio.
Figura 01: Classe A
Figura 02: Classe B
La classe A è nel pacchetto 1 e contiene il metodo pubblico chiamato display. La classe B è nel pacchetto 2 e contiene il metodo principale. Anche se sono in pacchetti separati; la classe B può creare un oggetto di classe A importando package1. Dopo aver importato il pacchetto 1, la classe B ha accesso ai dati e ai metodi della classe A.
Nel complesso, Package in Java aiuta a organizzare i file di progetto. Questo è molto utile quando si sviluppa un sistema di grandi dimensioni perché consente di archiviare tutti i file in modo metodico. In aggiunta a ciò, i pacchetti API Java consentono ai programmatori di utilizzare classi già esistenti.
Cos'è l'interfaccia in Java?
A volte il programmatore potrebbe non conoscere la definizione del metodo. In queste situazioni, il programmatore può solo dichiarare il metodo. Un metodo astratto è un metodo che non ha una definizione. Ha solo la dichiarazione. Quando c'è almeno un metodo astratto, quella classe diventa una classe astratta. Inoltre, la classe astratta può contenere metodi astratti e metodi non astratti. Il programmatore non può creare oggetti da classi astratte.
Quando una classe estende una classe astratta, la nuova classe dovrebbe definire tutto il metodo astratto nella classe astratta. In altre parole, supponiamo che la classe astratta A abbia un metodo astratto chiamato display. La classe B estende la classe A. Quindi la classe B dovrebbe definire il metodo display.
Esempio di interfaccia in Java
Supponiamo che sia A che B siano classi astratte. Se la classe C estende A e B, quella classe C deve definire i metodi astratti di entrambe le classi. Questa è eredità multipla. Java non supporta l'ereditarietà multipla. Per implementarlo, il programmatore dovrebbe utilizzare le interfacce. Se A e B sono interfacce, la classe C può implementarle. Fare riferimento al seguente esempio.
Figura 03: Interfaccia A
Figura 04: Interfaccia B
L'interfaccia A ha il metodo astratto display1 e l'interfaccia B ha il metodo astratto display2.
Figura 05: Classe C
La classe C implementa entrambe le interfacce A e B. Pertanto, dovrebbe definire entrambi i metodi.
Figura 06: Metodo principale
Ora nel metodo principale, è possibile creare un oggetto di C e chiamare entrambi i metodi. Allo stesso modo, le interfacce aiutano a implementare l'ereditarietà multipla in Java.
Oltre all'ereditarietà multipla, le interfacce aiutano a ottenere l'astrazione. È un concetto importante in OOP. L'astrazione consente di nascondere i dettagli di implementazione e mostrare all'utente solo la funzionalità. Inoltre, consente di concentrarsi su ciò che fa l'oggetto anziché su come viene fatto. Poiché un'interfaccia è composta da metodi astratti, aiuta ad archiviare l'astrazione.
Qual è la differenza tra pacchetto e interfaccia in Java?
Package è un gruppo di classi correlate che forniscono protezione dell'accesso e gestione dello spazio dei nomi. Interface è un tipo di riferimento simile a class che è una raccolta di metodi astratti. Il pacchetto aiuta a classificare metodicamente le classi per accedervi e mantenerle facilmente. D' altra parte, Interface aiuta a implementare eredità multiple e ottenere l'astrazione. Questa è la principale differenza tra Package e Interface in Java. Inoltre, il modo per scrivere un pacchetto è in lettere minuscole come java.util, java.awt. Se il nome dell'interfaccia è Area, viene scritto in, interface Area.
Riepilogo – Pacchetto vs interfaccia in Java
La differenza tra Package e Interface in Java è che Package aiuta a categorizzare metodicamente le classi per accedervi e mantenerle facilmente mentre Interface aiuta a implementare eredità multiple e a ottenere l'astrazione.