Rustin ympäriajo Sisällysluettelo

Polymorfismi Traittien Avulla

Rust tukee polymorfismia traittien avulla. Traitit antavat meidän liittää joukon metodeja structin tyyppiin.

Ensin määritämme traitin metodien allekirjoitukset:

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

Kun struct toteuttaa traitin, se luo sopimuksen, jonka avulla voimme olla epäsuorasti vuorovaikutuksessa structin kanssa trait- tyypin (esim. &dyn MyTrait) kautta ilman, että meidän tarvitsee tietää todellista tyyppiä.

Structin toteuttamat traitin metodit määritellään toteutuslohkon sisällä:

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