Sto provando a utilizzare la composizione in una mia classe Entity . Finora, un'entità "è" Displayable (ereditato da un ABC) e "ha" un Position (contiene una classe puntuale). So che vorrò che la mia Entity "abbia" un / qualche stato di salute, così ho iniziato a definire una classe Health da comporre in Entity . È stato comunque semplicistico e ha finito per contenere solo 2 metodi: hurt e heal che modifica il suo singolo campo: hp .
Se avessi intenzione di ereditare da Health , immagino che questo sarebbe OK, in quanto non richiederebbe alcun file standard all'interno di Entity ; erediterebbe i metodi.
Se devo scrivere con esso, quindi per me a hurt a Entity , dovrò indirizzare la chiamata di hurt / heal al loro membro Health e chiamarli proprio metodo hurt / heal . Con una classe così semplice, questo significa che praticamente ho tutti i metodi di Health duplicati in Entity .
In un caso come questo, c'è qualche punto nel definire Health ? L'alternativa più semplice sarebbe semplicemente dare un campo Entity a hp e dargli i metodi hurt e heal direttamente.