我會用這個怪物「怪物」代碼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,並認爲還有一些其他的機制。 –