Quindi se per esempio ho un oggetto PezzoDegliScacchi...
l'attributo Colore lo metto nella classe PezzoDegliScacchi perchè ce l'hanno tutte le classi derivate Cavallo, Pedone ecc...
il metodo getColore oppure setColore è comune a tutte le classi derivate quindi anche questo lo metto nella classe PezzoDegliScacchi e lo implemento, giusto?
Invece il metodo mossa, presente in tutte le classi derivate ma implementato in maniera diversa in ogni classe lo metto nell'interfaccia della classe PezzoDegliScacchi ma come metodo virtuale, quindi senza implementarlo?