Ho tre sottoclassi che ereditano da Hero :
-
Warrior -
Magician -
Amazon
I tre hanno un Weapon , che è sempre lo stesso:
-
Warriorcontiene sempre unSword(che eredita daWeapon) -
Magiciancontiene sempre unWand(che eredita daWeapon) -
Amazoncontiene 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
Warriordovrebbe 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?