CodeStart.it
Corsi Java Interfacce e polimorfismo
Torre · Approfondisci · Capitolo 12 di 19

Interfacce e polimorfismo

JavaLettura + laboratorioCorso gratuito
Che cosa imparerai

Un’interfaccia descrive un contratto che classi diverse possono rispettare.

1. Il concetto, spiegato da zero

Un’interfaccia descrive un contratto che classi diverse possono rispettare.

implements dichiara l’implementazione; un riferimento dell’interfaccia può puntare a oggetti concreti diversi. Questo riduce l’accoppiamento tra componenti.

2. Un esempio ragionato

Osserva l’esempio e leggi ogni istruzione nell’ordine. Prima di provarlo, fermati a prevedere cosa succederà; capire il motivo del risultato è più importante che memorizzare la sintassi.

Codice di esempio · Java
interface Saluto { String testo(); }
class Formale implements Saluto { public String testo() { return "Buongiorno"; } }
public class Main {
  public static void main(String[] args) {
    Saluto s = new Formale();
    System.out.println(s.testo());
  }
}

Come leggere questo esempio

  1. Prima di eseguire, prova a prevedere il risultato dell’esempio.
  2. Spiega con parole tue in che modo “interfacce e polimorfismo” risolve un problema concreto.
  3. Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
  4. Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Errore frequente
Un’interfaccia non è una classe da istanziare direttamente; serve una classe che la implementi.

3. Adesso tocca a te

Obiettivo dell’esercizio: Dichiara un’interfaccia e una classe che la implementa.

Puoi partire dall’esempio, riprodurlo e poi modificarlo. La soluzione di riferimento è disponibile sotto, ma conviene aprirla soltanto dopo un primo tentativo.

Laboratorio: metti alla prova il codice

JAVA · java

L’esempio Java è pensato per IntelliJ/JDK: il controllo guidato cerca elementi nel codice ma NON compila né esegue Java nel browser.

Output / esito del controllo

Il risultato comparirà qui.
Mostra la soluzione di riferimento
Codice di esempio · Java
interface Saluto { String testo(); }
class Formale implements Saluto { public String testo() { return "Buongiorno"; } }
public class Main {
  public static void main(String[] args) {
    Saluto s = new Formale();
    System.out.println(s.testo());
  }
}

Confronta il tuo procedimento con quello dell’esempio. Una soluzione differente può essere altrettanto valida se produce risultati corretti.

4. Verifica e ripasso

Quiz: hai capito il concetto?

Quale delle seguenti affermazioni è corretta per questo capitolo?

Seleziona una risposta

Promemoria

implements dichiara l’implementazione; un riferimento dell’interfaccia può puntare a oggetti concreti diversi. Questo riduce l’accoppiamento tra componenti.

5. Come proseguire

Prima del capitolo successivo, prova a spiegare il concetto a un amico senza leggere il codice. Se non riesci, torna all’esempio e fai una nuova variante: imparare significa anche sperimentare.

← Capitolo precedente