我会用这个怪物“怪物”代码Rust for Rubyist开始:锈病性状状态
trait Monster {
fn attack(&self);
fn new() -> Self;
}
struct IndustrialRaverMonkey {
life: int,
strength: int,
charisma: int,
weapon: int,
}
struct DwarvenAngel {
life: int,
strength: int,
charisma: int,
weapon: int,
} ...
impl Monster for IndustrialRaverMonkey { ...
impl Monster for DwarvenAngel { ...
我担心重复的代码。在Java中,我将创建一个接口,该接口用所有参数定义attack
方法和基类(life
,strength
,charisma
,weapon
)。我会用抽象类在C++中做同样的事情。 我可以找到一些丑陋而不直观的方法来解决这个问题,但有没有减少代码的好方法?我的意思是,保持它的可扩展性和可读性。
出于兴趣,为什么'〜特征'在结构中,而不是'特征'? (后者推荐,很少需要用'〜'来分配(小)结构。) – huon
@dbaupp实际上,我仍然是一个noob。你是对的,那是一个小结构。我会修改我的答案。欢迎任何其他建议。 –
据我所知,我必须实施派遣自己......这很有趣,我是rustnoob,并认为还有一些其他的机制。 –