Tour durch Rust Inhaltsverzeichnis

Polymorphismus Mit Traits

Rust unterstützt Polymorphismus mit Traits. Traits erlauben es uns, eine Reihe von Methoden mit einem Struct-Typ zu verknüpfen.

Zuerst definieren wir die Signaturen der Methoden eines Traits:

trait MyTrait {
    fn foo(&self);
    ...
}

Wenn ein Struct einen Trait implementiert, etabliert das einen Vertrag, der es uns erlaubt, indirekt über den Trait-Typ (z. B. &dyn MyTrait) mit dem Struct zu interagieren, ohne den tatsächlichen Typ kennen zu müssen.

Die von einem Struct implementierten Trait-Methoden werden innerhalb eines Implementierungsblocks definiert:

impl MyTrait for MyStruct {
    fn foo(&self) {
        ...
    }
    ...
}