Override

Riassunto

L'override in Java è un concetto che consente a una classe figlia di fornire una propria implementazione di un metodo ereditato dalla classe genitore. Questo permette di personalizzare il comportamento del metodo in base alle esigenze della classe figlia.

Definizione:

L'override è il processo mediante il quale un metodo definito in una classe figlia ha lo stesso nome, lo stesso tipo di ritorno e lo stesso elenco di parametri di un metodo definito nella classe genitore. L'implementazione del metodo nella classe figlia sostituisce l'implementazione della classe genitore.

Utilità:

  • Personalizzazione del Comportamento: Consente di fornire un'implementazione specifica del metodo nella classe figlia, personalizzandone il comportamento.
  • Estensione del Comportamento: Permette di estendere o modificare il comportamento di un metodo ereditato dalla classe genitore.
  • Polimorfismo: Favorisce il polimorfismo, poiché consente a oggetti di classi diverse di rispondere allo stesso messaggio in modi diversi.

Esempio:

Ecco un esempio di override in Java:

class Veicolo {
      void suonareClacson() {
          System.out.println("Beep beep");
      }
  }
  
  class Auto extends Veicolo {
      void suonareClacson() {
          System.out.println("Honk honk");
      }
  }
  
  public class Main {
      public static void main(String[] args) {
          Veicolo veicolo = new Veicolo();
          veicolo.suonareClacson(); // Output: Beep beep
  
          Veicolo auto = new Auto();
          auto.suonareClacson(); // Output: Honk honk
      }
  }

Nell'esempio sopra, la classe Auto estende la classe Veicolo e ne ridefinisce il metodo suonareClacson(). Quando si chiama il metodo suonareClacson() sull'oggetto di tipo Auto, viene eseguita l'implementazione definita nella classe Auto anziché quella nella classe Veicolo.