Presumo che il discorso su "estendi una sola classe, implementi quante interfacce ti pare" sia chiaro...
Un oggetto non appartiene solo alla classe di cui e' istanza, ma anche alla superclasse (la classe che estende), e alle superclassi della superclasse (e cosi' via). Esempio: un "Lavoratore Dipendente" e' anche un "Lavoratore", ma anche una "Persona", e un "Essere vivente", ed infine... un "Oggetto"!
Ma torniamo a noi.
Il "Lavoratore Dipendente" e' anche "Dipendente". Come faccio in Java a dire che "Lavoratore Dipendente" estende sia "Lavoratore" che "Dipendente"? Non posso, a meno che "Dipendente" non sia un'interfaccia. In tal caso, mi basta implementarla.
Se soddisfo certe condizioni, tutte le funzioni che prendono come parametro un "Dipendente", accetteranno anche un "Lavoratore Dipendente".
Sono stato piu' chiaro? Non credo proprio... :rollo: