POO - Eredità

L'Eredità (in inglese inheritance) è un principio proprio alla programmazione orientata all'oggetto, che permette di creare una nuova classe partendo da una già esistente.

La nozione di eredità

Il nome "Eredità" (detto anche talvolta derivazione di classe) proviene dal fatto che la classe derivata (la classe appena creata) contiene gli attributi e i metodi dalla sua superclasse (la classe da cui deriva). L'interesse maggiore dell'eredità sta nel poter definire dei nuovi attributi e dei nuovi metodi per la classe derivata, che vanno ad aggiungersi a quelli ereditati.

In questo modo si crea una gerarchia di classi sempre più specializzate. Questo ha come vantaggio più grande di non dover ripartire da zero quando si vuole specializzare una classe esistente. Così è possibile acquistare in commercio delle librerie di classi, costituenti una base, che possono essere specializzate a piacimento (si capisce ancora meglio l'interesse per l'azienda che vende le classi di dover proteggere i dati membri con l'incapsulamento, ecc.).

Gerarchia delle classi

È possibile rappresentare sotto forma di gerarchia di classi, talvolta detta arborescenza di classi, la relazione di prossimità che esiste fra le differenti classi. L'arborescenza comincia da una classe generale detta superclasse (a volte classe di base, classe genitrice, classe ancestrale,classe madre o classe padre, le metafore genealogiche sono numerose). Poi le classi derivate (classe figlia o sotto-classe) diventano sempre più specializzate. Così, si può generalmente esprimere la relazione che lega una classe figlia alla sua classe madre con la frase "è un" (dall'inglese "is a"):

Gerarchia delle classi

Eredità multipla

Alcuni linguaggi orientati oggetto, come C++, permettono di fare dell'eredità multipla, il che significa che offrono la possibilità di far ereditare una classe da due superclassi. Così, questa tecnica permette di raggruppare all'interno di una sola stessa classe gli attributi e i metodi di più classi.

Eredità multipla.
Foto: © Pixabay.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Il documento intitolato « POO - Eredità » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.
Unisciti ALLA COMMUNITY