Ho tre sottoclassi che ereditano da Hero
:
-
Warrior
-
Magician
-
Amazon
I tre hanno un Weapon
, che è sempre lo stesso:
-
Warrior
contiene sempre unSword
(che eredita daWeapon
) -
Magician
contiene sempre unWand
(che eredita daWeapon
) -
Amazon
contiene sempre unBow
(che eredita daWeapon
)
Ho in mente diverse soluzioni, come:
-
Passare l'arma come parametro del costruttore (questo dovrebbe essere fatto da una Factory? In questo caso, quando si crea un
Warrior
dovrebbe venire già con unSword
, e così via ... ) -
Creazione dell'arma specifica all'interno del costruttore per ognuno dei
Heroes
.
Pensando a ulteriori test, soluzione 1 mi consentirà di passare una percentuale fittizia Weapon
durante la creazione dell'oggetto. D'altra parte, la soluzione 2 non lo farà, e suppongo che non rispetterò i principi del test unitario isolando l'unità (il mio Hero
) da altri componenti (il Weapon
) .
Che cosa pensi qui?