Dynaaminen Vs. Staattinen Dispatch
Metodeja suoritetaan kahdella tavalla:
- staattinen dispatch - Kun instanssin tyyppi tiedetään, tiedämme suoraan, mitä funktiota kutsua.
- dynaaminen dispatch - Kun instanssin tyyppiä ei tiedetä, meidän täytyy löytää tapa kutsua oikeaa funktiota.
Trait-tyypit kuten &dyn MyTrait antavat meille mahdollisuuden työskennellä epäsuorasti olioiden instanssien kanssa käyttäen dynaamista dispatchia.
Kun dynaamista dispatchia käytetään, Rust kannustaa sinua laittamaan dyn:in ennen trait-tyyppiäsi, jotta muutkin huomaavat sen.
Muistin yksityiskohdat:
- Dynaaminen dispatch on hieman hitaampi, koska todellisen funktiokutsun löytäminen vaatii osoittimien seuraamista.