Se sto programmando un gioco in cui c'è un lavoratore che taglia il legno (dagli alberi), dove inserirò il metodo "cutWood", nella classe worker o nella classe tree?Problema di progettazione orientata agli oggetti
MODIFICA: Il primo esempio che ho letto su OOD riguardava un cerchio (una classe chiamata cerchio) che contiene un metodo chiamato "area di calcolo". Ora, un cerchio abbastanza sicuro non calcola la propria area. L'unico modo per pensarci è che l'area di calcolo è un'operazione pertinente al cerchio (un'operazione eseguita sul cerchio)
Quindi, il metodo cutWood è rilevante sia per l'operatore che per l'albero.
chi taglia il legno? – Cristian
Chi ha tagliato il formaggio! – Secko
Una cerchia non calcola la propria area? Hmmm. Penso che tu abbia erroneamente interpretato l'esempio: facendo qualcosa per cui nessun altro oggetto è necessario, e per il quale la classe ha più conoscenza (cioè il raggio), è ESATTAMENTE quello che dovrebbe andare in una classe. Dove si può discutere di cose come circle.draw (ScreenObject) - una classe autonoma dovrebbe conoscere i dettagli di un particolare sistema grafico? –