Sto progettando un gioco di ruolo. In questi giochi c'è un personaggio che ha un livello. Ho scoperto che il livello stesso è un oggetto. Ha valori come l'esperienza, la conoscenza di quanto sia necessaria l'esperienza moch per un livello e metodi come improve () o gainExperience (). Quindi il personaggio dovrebbe avere un oggetto di livello. Un oggetto di gioco potrebbe avere un metodo di combattimento. Quando il personaggio vince un combattimento, guadagna esperienza. L'oggetto del gioco ha accesso all'oggetto giocatore. Ma il problema ora è: tutti i campi dovrebbero essere privati. Quindi dovrei scrivere un getter per far sì che l'oggetto di livello aumenti l'esperienza che mi sembra un codice inopportuno. È un modo accettato per impostare il campo di livello dell'oggetto carattere e accedervi in questo modo:
player.level.gainExperience(value);
o c'è un modo migliore per accedere ai metodi dei campi che sono anche oggetti?
Modifica La mia domanda è diversa da questo . Mentre la domanda citata è molto generica, la mia si riferisce ad un esempio concreto, che limita le possibilità di risposta, e rende la risposta più semplice e chiara