Concetti Chiave

  • Le interfacce in Java consentono di aggirare il limite dell'ereditarietà singola, permettendo l'ereditarietà multipla.
  • Per dichiarare un'interfaccia si utilizza la parola chiave INTERFACE, seguita dal livello di protezione e dall'estensione di una classe base se necessario.
  • Per implementare un'interfaccia, si utilizza il comando IMPLEMENTS, invece di EXTENDS, per indicare l'ereditarietà da un'interfaccia.
  • Tutti i prototipi definiti nell'interfaccia devono essere implementati nella classe, altrimenti si genera un messaggio di errore.
  • Le interfacce sono utili quando ci sono molte sottoclassi con una struttura simile e metodi analoghi, facilitando la coerenza nel codice.

Siccome ogni classe può estendere solamente una superclasse, Java aggira il problema attraverso l’implementazione di Interfacce. L’interfaccia rappresenta un prototipo e consente al programmatore di definire lo scheletro di una classe. Pertanto le interfacce saranno vantaggiose in tutti quei casi con molte sottoclassi aventi tutte una struttura simile alla superclasse con metodi simili. Per dichiarare un’interfaccia si ricorre al comando INTERFACE ossia alla seguente sintassi:

Indice

  1. Qual è la dichiarazione e utilizzo delle interfacce?
  2. Ereditarietà multipla tramite interfacce

Qual è la dichiarazione e utilizzo delle interfacce?

Pertanto si definisce il livello di protezione dell’interfaccia, s’inserisce la parola chiave INTERFACE e successivamente si può anche estendere una classe se l’interfaccia è definita a partire da una classe base. Per segnalare poi l’ereditarietà da una interfaccia si utilizza non più EXTENDS ma IMPLEMENTS. Bisogna ricordare che quando si implementa un’interfaccia bisogna poi utilizzare tutti i prototipi di questa altrimenti si avrà in risposta un messaggio di errore.

Ereditarietà multipla tramite interfacce

Attraverso le interfacce, come detto all’inizio del paragrafo, è possibile l’ereditarietà multipla, infatti, in seguito al comando Implements è possibile elencare una moltitudine d’interfacce. Ricorda però che tutti i prototipi delle interfacce andranno poi introdotti nella classe implementante.

Domande da interrogazione

  1. Qual è il ruolo delle interfacce in Java rispetto all'ereditarietà?
  2. Le interfacce in Java consentono di aggirare il limite dell'ereditarietà singola, permettendo l'ereditarietà multipla. Esse fungono da prototipi, consentendo di definire schemi comuni per classi con strutture simili (come indicato nel testo).

  3. Come si dichiara e utilizza un'interfaccia in Java?
  4. Per dichiarare un'interfaccia in Java, si definisce il livello di protezione, si utilizza la parola chiave INTERFACE e si può estendere una classe base. Quando si implementa un'interfaccia, è necessario utilizzare tutti i suoi prototipi per evitare errori.

  5. Come si dichiara un'interfaccia in Java?
  6. Per dichiarare un'interfaccia in Java, si utilizza la parola chiave INTERFACE seguita dalla definizione del livello di protezione. Se necessario, è possibile estendere una classe base, ma per l'ereditarietà da un'interfaccia si utilizza il comando IMPLEMENTS (come descritto nel testo).

  7. Qual è il vantaggio principale delle interfacce in Java?
  8. Le interfacce sono vantaggiose quando ci sono molte sottoclassi con una struttura simile alla superclasse, poiché permettono di definire uno scheletro comune senza limitare l'ereditarietà a una sola superclasse.

  9. Cosa succede se non si implementano tutti i prototipi di un'interfaccia?
  10. Se non si implementano tutti i prototipi di un'interfaccia, il programmatore riceverà un messaggio di errore, poiché è obbligatorio fornire tutte le implementazioni richieste (secondo quanto riportato nel testo).

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community