Traits
Trait-Implementierung und Standardverhalten
Abschnitt betitelt „Trait-Implementierung und Standardverhalten“trait MakeNoise { fn make_noise(&self) { println!("(silence)"); }}
struct Dog {}struct Cat {}
impl MakeNoise for Dog { fn make_noise(&self) { println!("bark"); }}
impl MakeNoise for Cat {}
fn main() { let dog = Dog {}; let cat = Cat {}; dog.make_noise(); cat.make_noise();}Die Implementierung des MakeNoise-Traits bietet eine spezifische Implementierung für Dog und verwendet die Standardimplementierung für Cat.
Daher gibt der Aufruf von make_noise für jede Instanz bark bzw. (silence) aus.
Trait-Implementierungsregeln
Abschnitt betitelt „Trait-Implementierungsregeln“Die folgenden Aussagen beschreiben, welche Arten von Trait-Implementierungen in Rust erlaubt sind. Wählen Sie jede zutreffende Aussage aus.
Die „Orphan-Regel“ besagt, dass Sie keinen externen Trait für einen externen Typ implementieren können, um sicherzustellen, dass der Code nicht bricht, wenn zwei Crates widersprüchliche Implementierungen bereitstellen.