2
我有幾個缺省實現需要相同方法的特性,這些特性恰好是字段getter。我該如何重複使用類似特徵實現的代碼?
trait AddPosition<T: Display>{
fn x(&self) -> T;
fn y(&self) -> T;
fn add(&self){
println!("{:}", self.x()+self.x());
}
}
trait SubPosition<T: Display>{
fn x(&self) -> T;
fn y(&self) -> T;
fn sub(&self){
println!("{:}", self.x()-self.y());
}
}
而不是手動重複每個特徵實現相同的代碼,我可以有這樣的事情嗎?
impl AddPosition<i32>, SubPosition<i32> for Point{
fn x(&self) -> i32{ self.x }
fn y(&self) -> i32{ self.y }
}
而我該如何'impl' AddPosition和SubPosition呢? – tower120
請參閱編輯,其中包括實施AddPosition和SubPosition的結構示例。 – mdup
(另一個Rustacean的相鄰問題:作爲一個方法處理的方法,潛在名稱與'x()'是如何衝突的?) – mdup