Quote Originariamente inviata da luca125 Visualizza il messaggio
Alla fine ho risolto così il problema della stampa:
System.out.println(cars[i].getDriver().getName() + cars[i].getDriver().getSurname());

Cosa ne pensi?
E' sicuramente un modo di risolvere la cosa, ma ridefinire toString è sicuramente il metodo migliore: in questo modo la logica viene inserita all'interno della classe Driver, che è il posto migliore per gestirla, ed è invece nascosta a tutte le classi che desiderano stampare a video un oggetto Driver.

Infatti se devi modificare le informazioni che vuoi ricevere (ad esempio potresti voler aggiungere i punti nel mondiale, il numero di macchina del pilota o anche solo cambiare il carattere di separazione tra nome e cognome o altro...) ti basta modificare un unico metodo nella classe Driver, senza dover cambiare tutte le istruzioni relative alla stampa nelle altre classi.
Poi migliori la leggibilità del codice e lo rendi più snello, ti basta scrivere System.out.println (cars[i].getDriver()) , senza doverti preoccupare di andare a recuperare a mano le informazioni.

Infine il metodo è toString() è utile anche in altri contesti, per ora potrebbe non servire a tutti i costi ma non fa male abituarsi a ridefinirlo