Requisito 2
Un Samurai può usare la Katana.
Quando si chiama il metodo Attack(string target), il Samurai si presenta e poi usa la propria arma contro il suo obiettivo.
Vorrei che non fosse usata la Dependency Injection: il Samurai dovrebbe crearsi la propria istanza Katana.
Esempi
samurai.Attack("Christian")
=> "I'm a Samurai... I chop you in 2, Christian!"