Cioè se ho capito bene: io istanzio tre tipi di oggetti diversi che estendono tutti Persona e poi a seconda della logica dell’applicazione ne ritorno uno facendo il casting a Persona? Cioè una cosa del tipo:

Codice PHP:
Lavoratore lavoratore = new Lavoratore()
Studente studente = new Studente()




If(.){
    return (
Persona)lavoratore;
} else {
    return (
Persona)studente;