Come kingpin ha un po' crittograficamente descritto si usano classi astratte (con molta parsimonia) ed interfacce (in buona quantità) per migliorare il design del software su cui si lavora ed avere codice modulare, riutilizzabile ma cosa molto più importante che si possa testare con facilità.
Dipende se si tratta di una classe astratta o di un interfaccia. Come hai potuto notare/imparare le interfacce non contengono nessuna implementazione pertanto in questo caso la risposta è: "Si" se l'interfaccia definisce un metodo queste DEVE essere creato nella classe che lo implementa. Se si tratta di una classe astratta invece i metodi vanno implementati se e solo se viene richiesto (metodi definiti abstract) oppure vanno re-implementati qualora il codice contenuto nel metodo non è adatto al problema che stai cercando di risolvere. Tuttavia tieni presente che nella maggior parte dei casi il dover re-implementare metodi di una classe astratta è considerato uno "smell". Spero di aver chiarito i tuoi dubbi.


Rispondi quotando
