Di solito, i getter restituiscono sempre il valore di una variabile. Ho appreso nella mia letteratura che l'accesso ai campi è controllato da getter e setter. Quando ho avuto il mio codice valutato dai programmatori, è stato improvvisamente detto che getter e setter violano il pensiero orientato agli oggetti.
Finora, ho sempre impostato le istruzioni di uscita nel metodo di una classe che ha apportato modifiche all'oggetto. Tuttavia, se voglio cambiare il modo in cui faccio le uscite (per esempio graficamente o in un terminale), dovrei riscrivere tutte le classi. Pertanto, ho considerato di fare quanto segue: L'output non è più realizzato nella classe, ma la classe fornisce metodi che forniscono i valori da visualizzare. Un'altra classe viene quindi creata per la visualizzazione, che utilizza getter speciali per interrogare lo stato dell'oggetto e visualizzare i dati come preferisce. I getter sono nella classe che ha questi dati. Ad esempio, potrei avere un oggetto "Umano". The Human ha tra le altre cose le variabili lifeCurrent e lifeMax. Questi campi rappresentano la salute, se si impostano questi valori in relazione. Un'altra classe chiamata "Display" è ora responsabile della visualizzazione dello stato attuale di un Umano. Quindi creo un get getinner nella classe umana che restituisce una lista con lifeCurrent e lifeMax. la classe Display avrebbe una funzione chiamata salute (Umana). Questa funzione chiama il getter dall'umano e visualizza i valori per l'utente del programma. È uno stile accettato usare getter come questo?