Leksykon IT › Programowanie › Obiekt cechy (trait object)

Obiekt cechy (trait object)

Programowanie Svenska → Zaktualizowano: 2026-10-07

Mechanizm Rusta: dynamiczne wiązanie przez tablicę wirtualną. Box<dyn Trait> lub &dyn Trait. Polimorfizm w czasie wykonania zamiast monomorfizacji w czasie kompilacji. Kompromis: większa elastyczność za niewielki koszt w runtime.

Wyszukanie w vtable to ok. 5 ns na wywołanie metody, wobec ~0 ns dla wstawionego wywołania statycznego. Zwykle pomijalne — używaj obiektów cech do: kolekcji heterogenicznych (Vec<Box<dyn Trait>>), architektur wtyczkowych, zwracania z funkcji różnych typów konkretnych. Reguły object safety: cecha może być obiektem, jeśli wszystkie jej metody da się wywołać dynamicznie (bez Self przez wartość, bez generycznych argumentów metod). Od Rusta 1.27 słowo dyn jest obowiązkowe (wcześniej wystarczyło &Trait). Odpowiedniki: interfejs w Javie (zawsze wirtualny), interfejs w Go (tak samo). Obiekty cech i monomorfizacja się uzupełniają; wybieraj według potrzeby.

← Wróć do leksykonu