Concetti Chiave

  • L'ereditarietà consente di definire nuove classi basate su classi esistenti, specializzando i loro concetti.
  • La classe base (o superclasse) serve come fondamento per la creazione di nuove classi, mentre la classe derivata (o sottoclasse) ne eredita le funzionalità.
  • L'estensione delle classi in Java si realizza tramite il comando "extends", limitando l'ereditarietà a una singola classe.
  • Ogni classe deve avere un costruttore, che può essere nullo se non dichiarato, e si può chiamare il costruttore della classe base usando il comando SUPER.
  • Il processo di ereditarietà è paragonabile a un albero genealogico, dove i figli ereditano caratteristiche dai genitori.

Quali sono i concetti fondamentali dell'ereditarietà?

L’ereditarietà è la caratteristica dei linguaggi Object Oriented che consente di utilizzare definizioni di classe come base per la definizione di nuove che ne specializzano il concetto. Nell’ereditarietà si devono avere bene a mente i seguenti concetti:

Classe base / Superclasse = classe utilizzata come fondamenta per una nuova definizione di classe;

Classe derivata / Sottoclasse = classe che eredità tutte le funzionalità dalla classe base o superclasse;

Meccanismi di estensione delle classi

L’ereditarietà avviene grazie al comando Extends che viene posto di seguito alla dichiarazione iniziale della classe. L’estensione di classe può avvenire solo per una classe infatti non è possibile l’ereditarietà multipla se non per quanto riguarda le interfacce (che non hanno limiti di implementazione).

ES. classe Bicicletta extends VeicoloADueRuote {
Ogni classe deve avere un costruttore e se questo non fosse dichiarato allora Java procederebbe creando un costruttore “nullo” o “vuoto” della classe. Nel processo di ereditarietà è possibile effettuare una chiamata al costruttore della classe base immediatamente precedente attraverso il comando SUPER (lista_degli_argomenti) dove tra parentesi bisogna inserire i parametri che si vogliono richiamare dal costruttore. Il funzionamento è infatti simile a quello di un albero genealogico dove i "figli" ereditano dal "genitore".

Domande da interrogazione

  1. Cos'è l'ereditarietà nei linguaggi Object Oriented?
  2. L'ereditarietà è una caratteristica che permette di utilizzare definizioni di classe come base per crearne di nuove, specializzando il concetto. Essa coinvolge una classe base (superclasse) e una classe derivata (sottoclasse) che eredita le funzionalità dalla classe base.

  3. Qual è il ruolo della classe base nell'ereditarietà?
  4. La classe base, o superclasse, funge da fondamenta per la definizione di nuove classi, permettendo loro di ereditare tutte le funzionalità della classe base.

  5. Come si realizza l'ereditarietà in Java?
  6. In Java, l'ereditarietà si realizza utilizzando il comando "extends" nella dichiarazione della classe. È importante notare che l'ereditarietà multipla non è consentita, eccetto per le interfacce.

  7. Qual è il ruolo del costruttore nella classe derivata?
  8. Ogni classe deve avere un costruttore; se non dichiarato, Java crea un costruttore "nullo". Nella classe derivata, è possibile chiamare il costruttore della classe base utilizzando il comando "SUPER" con i parametri desiderati, simile a un albero genealogico in cui i "figli" ereditano dal "genitore".

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community