Le classi astratte invece sono un sistema che permette di definire classi parzialmente completate che lasciano l’implementazione di alcuni metodi alle sottoclassi.
Una classe astratta deve essere definita utilizzando la parola chiave abstract; lo stesso vale per quei metodi astratti della classe .
Una classe astratta non può essere istanziata.
Per capire l’importanza ecco un piccolo programma:
Qui si nota che ho definito un attributo private ed uno public.
l’attributo pubblico può essere usato dalla variabile c mentre l’attributo privato non può essere usato all’esterno.
Il concetto di area però è un concetto astratto nel senso che può essere usato da tutte le figure ossia devo usare una sottoclasse che adatta il concetto di area alla figura generica.
In un database ad esempio la busta paga è un concetto astratto che deve essere poi usata nelle sottoclassi per adattarle ai vari dipendenti!