BT Sözlüğü › Programlama › Trait nesneleri

Trait nesneleri

Programlama Svenska → Güncellendi: 2026-10-11

Rust’ın dinamik dağıtım yolu: dyn Trait somut türü gizler ve metodu çalışma zamanında bir vtable’dan bulur.

Rust’taki jenerik kod normalde monomorfize edilir — derleyici her somut tür için ayrı bir kopya üretir; çağrılar doğrudan olur, ama ikili büyür. Bazen bu mümkün değildir: birkaç farklı şekil türü tutacak bir vektörün tek bir somut eleman türü olamaz. İşte burada Box<dyn Draw> devreye girer; her değer iki işaretçiyle temsil edilir — biri veriye, biri o türün metot gerçekleştirimlerinin tablosuna. Çağrı dolaylı olur ve satır içine alınamaz, ama kod tek kopya halinde bulunur. Her trait uygun değildir: nesne güvenliği kuralları, diğerlerinin yanında jenerik metotları dışlar; çünkü bir vtable sonsuz sayıda varyantla doldurulamaz.

← Sözlüğe dön