- Una classe astratta, che definirà un concetto astratto (come abbiamo visto per il C++),
non può essere istanziata
- Per creare una classe astratta, si deve inserire la parola chiave abstract nella dichiarazione
della classe
- Una classe astratta può tranquillamente definire tutti i suoi metodi, come una qualunque
classe reale
- Alcuni metodi di una classe astratta possono altresì non essre definiti
- In questo caso i metodi dovranno a loro volta essere dichiarati abstract, ed avranno
solo la definizione, ma non l'implementazione
- A differenza che in C++, il linking è dinamico, quindi dichiarare un metodo astratto non serve per
far sì che a runtime venga usato il metodo corretto: lo sarebbe comunque
- Se una classe contiene metodi astratti, deve per forza essere dichiarata astratta, ma una
classe astratta non deve per forza contenere metodi astratti
- La dichiarazione di una classe astratta senza metodi astratti ha senso per rendere più
chiara la struttura del programma
|