Un'interfaccia è un tipo di riferimento utilizzato per imporre un contratto con una classe. Un contratto fa riferimento all'obbligo di implementare i metodi definiti da un'interfaccia.

Le interfacce forniscono un'astrazione tra i metodi che definiscono e come l'utente li implementa in una classe. Un caso d'uso pratico di questo è nelle API (Application Programming Interfaces).

Le API consentono al tuo programma di comunicare con altri programmi senza sapere come sono implementati. Questo è importante sia per ragioni di proprietà (per l'azienda che possiede i diritti) sia per un facile sviluppo da parte tua.

Diamo un'occhiata a come utilizzare le interfacce Java.

Definizione delle interfacce

Per dichiarare un'interfaccia, inserisci la parola chiave interfaccia prima del nome dell'interfaccia.

interfaccia auto{
// dichiarazioni di costanti, se presenti
int pneumatici = 4;
// firme del metodo
int luci (int luminosità);
int turn (int pneumatici, direzione della stringa){
// del codice
}
}

Nell'intestazione della tua interfaccia, puoi anche includere il suo livello di visibilità prima della parola chiave

instagram viewer
interfaccia.

I valori in un'interfaccia sono costanti. Questi valori sono di default pubblico, statico e finale. Pertanto, non è necessario utilizzare queste parole chiave durante la dichiarazione dei valori nel corpo di un'interfaccia.

Imparentato: Come gestire l'ambito variabile in Java

Anche il corpo di un'interfaccia può avere predefinito, astratto, statico metodi. Questi metodi sono di default pubblico, quindi non è necessario indicare questi modificatori di accesso quando li si dichiara.

I metodi astratti vengono dichiarati omettendo le parentesi graffe del corpo di un metodo. Vedere la riga 7 nel codice sopra. I metodi statici vengono dichiarati procedendo al nome del metodo con la parola chiave statico & i metodi predefiniti sono dichiarati con il predefinito modificatore.

Ora sarebbe un buon momento per ricordare che è necessario utilizzare i metodi dichiarati in un'interfaccia in tutte le classi che la implementano. Non farlo farà "applicare il contratto" al compilatore dando un errore di compilazione.

Questa particolare proprietà delle interfacce può presentare alcuni inconvenienti. Si consideri un caso in cui un provider di API (Application Programming Interface) decide di aggiungere più metodi alle proprie interfacce, ma diverse app si basano sulle vecchie interfacce. Gli sviluppatori che utilizzano le vecchie interfacce nei loro programmi dovrebbero riscrivere il loro codice, il che non è pratico.

Quindi, ecco dove predefinito entrano i metodi. Consentono ai provider di API di aggiungere più metodi alle loro interfacce garantendo al tempo stesso la compatibilità binaria con le versioni precedenti dell'interfaccia.

default int getDirection (Coordinate stringa){
// scrivi del codice per fornire un'implementazione predefinita
}

Il metodo sopra mostra come viene chiamato un metodo predefinito prendere direzione è dichiarato. Nota che devi includere un'implementazione di un metodo predefinito quando lo scrivi.

Utilizzo delle interfacce

Ora che abbiamo definito le interfacce in Java, possiamo passare a come implementarle. Lo scoprirai nella sezione sottostante.

Interfacce di implementazione

Per implementare un'interfaccia, usa la parola chiave attrezzi usando questa sintassi:

la classe A implementa l'interfaccia P{
}

Ricorda che devi usare tutti i metodi di interfaccia nella classe. Puoi ignorare questa regola solo se uno dei metodi è definito come predefinito nell'interfaccia.

Imparentato: Introduzione all'utilizzo di elenchi collegati in Java

Se vuoi che la tua classe implementi più interfacce, puoi separarle usando le virgole nella dichiarazione dell'intestazione.

Esempio:

la classe A implementa l'interfaccia P, Q, R{
}

Se la classe che implementa l'interfaccia è una sottoclasse, usa la sintassi seguente:

la classe A estende B implementa C, D{
}

Le interfacce consentono eredità multiple in Java. Normalmente, una classe può estendere solo una classe (ereditarietà singola). Le interfacce sono l'unico modo in cui Java può eseguire eredità multiple.

Le interfacce possono anche estendere altre interfacce, proprio come una classe può estendere un'altra classe. L'interfaccia figlio eredita i metodi dell'interfaccia che estende.

Vedi l'esempio qui sotto:

l'interfaccia A estende B{ 
}

Oltre a utilizzare i metodi predefiniti per modificare un'interfaccia senza richiedere agli sviluppatori di modificare i loro programmi correnti, puoi anche estendere le interfacce esistenti.

Ora hai alcune conoscenze di base sulle interfacce Java

Le interfacce in Java dimostrano l'astrazione, uno dei quattro pilastri della programmazione orientata agli oggetti. Il polimorfismo è uno di quei quattro pilastri. Si riferisce alla capacità di un metodo di assumere molte forme.

È possibile implementare il polimorfismo in Java tramite l'override del metodo o l'override del metodo. Il prossimo passo nella tua lista di lettura Java dovrebbe essere come implementare queste funzioni.

CondividereTweetE-mail
Polimorfismo in Java: come sovraccaricare o sovrascrivere i metodi

Riduci il codice che scrivi con l'override e l'override del metodo.

Leggi Avanti

Argomenti correlati
  • Programmazione
  • Giava
  • Linguaggi di programmazione
  • Programmazione
Circa l'autore
Girolamo Davidson (25 articoli pubblicati)

Jerome è uno scrittore dello staff di MakeUseOf. Si occupa di articoli su programmazione e Linux. È anche un appassionato di criptovalute e tiene sempre d'occhio l'industria delle criptovalute.

Altro da Jerome Davidson

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti