Dynamiczne Kontra Statyczne Wywoływanie Metod
Metody są wykonywane na dwa sposoby:
- wywoływanie statyczne (ang. static dispatch) - Kiedy typ instancji jest znany, mamy bezpośrednią wiedzę o tym, jaką funkcję wywołać.
- wywoływanie dynamiczne (ang. dynamic dispatch) - Kiedy typ instancji nie jest znany, musimy znaleźć jakiś sposób na wywołanie odpowiedniej funkcji.
Typy cech &dyn MyTrait dają nam możliwość pracy z instancjami obiektów w sposób pośredni, przy użyciu wywoływania dynamicznego.
Kiedy używane jest wywoływanie dynamiczne, Rust zachęci Cię do umieszczenia dyn przed typem cechy, aby inni byli tego świadomi.
Kilka szczegółów dotyczących pamięci:
- Wywoływanie dynamiczne jest odrobinę wolniejsze, ze względu na podążanie za wskaźnikiem w celu odnalezienia rzeczywistego wywołania funkcji.