servono dichiarare caratteristiche comuni fra classi di una determinata gerarchia
consiste in una classe da cui non si può creare oggetti ma solo ereditata


modificatore_accesso abstract class NOME
{

//campi

//metodi
}



la classe derivata deve fornire una implementazione per tutti i metodi astratti dichiarati nella classe genitrice
se così non dovesse essere, anche la sotto-classe deve essere dichiarata come abstract