Differenza tra pacchetto e interfaccia in Java

Il differenza fondamentale tra Package e Interface in Java è quello Il pacchetto aiuta a categorizzare le classi in modo metodico per accedervi e gestirle facilmente mentre Interface aiuta ad implementare più eredità 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à e i metodi per descrivere i comportamenti. Questo articolo discute due concetti relativi a OOP in Java in Java che sono pacchetto e interfaccia.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è il pacchetto in Java
3. Cos'è l'interfaccia in Java
4. Confronto affiancato - Pacchetto vs Interfaccia in Java in formato tabulare
5. Sommario

Cos'è il pacchetto in Java?

Java offre un gran numero di classi. Mantenere tutte le classi in una singola cartella può essere difficile perché è difficile accedere. 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 diversi pacchetti in base alla funzionalità. Pertanto, ogni pacchetto contiene un insieme correlato di classi.

Esempio di pacchetti in Java

Pochi pacchetti di esempio sono i seguenti. Il pacchetto java.io contiene le classi di supporto di input, output. Comprende 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 necessarie per creare interfacce utente grafiche. Questi sono pochi pacchetti Java API.

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 la dichiarazione di importazione come segue.

import java.util.BufferInoutStream;

La seguente istruzione importerà tutte le classi nel pacchetto util.

import java.util. *;

È anche possibile creare pacchetti definiti dall'utente.

dipendente del pacchetto;

Dipendente di classe pubblica

Secondo l'esempio precedente, il dipendente è il nome del pacchetto. La classe Employee fa parte del pacchetto employee. Questo file salva Employee.java nel pacchetto employee.

Inoltre, è possibile importare una classe pubblica da un pacchetto a un 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 il pacchetto1. Dopo aver importato il pacchetto 1, la classe B ha accesso ai dati e ai metodi di classe A.

Complessivamente, 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. Inoltre, 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 la visualizzazione del metodo.

Esempio di interfaccia in Java

Supponiamo che sia A che B siano classi astratte. Se la classe C sta estendendo A e B, quella classe C deve definire i metodi astratti di entrambe le classi. Questa è un'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 all'esempio seguente.

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.

A parte l'ereditarietà multipla, le interfacce aiutano a raggiungere l'astrazione. È un concetto importante in OOP. L'astrazione consente di nascondere i dettagli dell'implementazione e mostrare all'utente solo la funzionalità. Inoltre, consente di concentrarsi su ciò che l'oggetto fa invece di come è fatto. Come un'interfaccia composta da metodi astratti, aiuta a archiviare l'astrazione.

Qual è la differenza tra pacchetto e interfaccia in Java?

Il pacchetto è un gruppo di classi correlate che forniscono protezione dell'accesso e gestione dello spazio dei nomi. L'interfaccia è un tipo di riferimento simile alla classe che è una raccolta di metodi astratti. Il pacchetto aiuta a classificare le classi in modo metodico per accedervi e gestirle facilmente. D'altra parte, Interface aiuta a implementare più eredità e a conseguire l'astrazione. Questa è la principale differenza tra Package e Interface in Java. Inoltre, il modo di scrivere un pacchetto è in lettere minuscole come java.util, java.awt. Se il nome dell'interfaccia è Area, allora è scritto in, Area interfaccia.

Riepilogo: pacchetto vs interfaccia in Java

La differenza tra Package e Interface in Java è che Package aiuta a classificare le classi in modo metodico per accedervi e gestirle facilmente mentre Interface aiuta ad implementare più eredità e ad ottenere astrazioni.

Riferimento:

1.Tutorial punti. "Pacchetti Java".  Punto tutorial, 24 marzo 2018. Disponibile qui 
2.Tutorial punti. "Interfacce Java".  Punto tutorial, 24 marzo 2018. Disponibile qui