![]() ![]() |
|
![]() ![]() |
L'esempio delle classi Persona,
Studente e Professore mostra come usando
l'ereditarietà si possono fattorizzare informazioni comuni a più
classi.
Le informazioni comuni a Studente e Professore sono state fattorizzate nella superclasse Persona, dalla quale entrambe ereditano. |
![]() ![]() |
|
![]() ![]() |
Le classi astratte consentono di usare
questo meccanismo di "fattorizzazione" delle informazioni comuni, anche
quando la superclasse risultante non sarebbe "ben definita".
Supponiamo di avere le classi Sfera
e Cubo:
|
![]() ![]() |
|
![]() ![]() |
Anche qui troviamo ridondanza. Vorremmo definire una classe
Solido
che fattorizzi le informazioni comuni. Solido dovrebbe
contenere:
Soluzione: Definire superficie()
e volume() come metodi
astratti, aventi solo l'intestazione ma non l'implementazione. Di conseguenza
Solido
è una classe astratta.
|
![]() ![]() |
|
![]() ![]() |
Alcune cose importanti da ricordare:
|
![]() ![]() |
|
![]() ![]() |
|