Tutto è fattibile.
Il fatto di avere dei campi non usati non è né meglio, né peggio di altre soluzioni.
Se l'esercizio, comunque, riguarda le interfacce non credo tu possa esimerti dal usarle.

Un vantaggio della soluzione proposta da me, rispetto a quella proposta da te, è questa:

se un domani tu avessi una classe con dei metodi in grado di ricevere una Persona, uno Studente o un Lavoratore, sfruttando le interfacce puoi passare un oggetto Studente-Lavoratore sia al metodo che riceve una Persona, sia al metodo che riceve un Lavoratore, sia al metodo che riceve uno Studente. Con la tua soluzione, una delle ultime due possibilità la perdi, in quanto la classe StudenteLavoratore sarebbe direttamente discendente da Studente o da Lavoratore, ma non da entrambe.

In quest'ottica ha senso l'uso delle interfacce, ma, ripeto, l'esempio usato non è certamente dei migliori.


Ciao.