Трейты (Traits) - это способ определить общее поведение для различных типов в Rust. Они позволяют обеспечить полиморфизм и повторное использование кода через механизмы, подобные интерфейсам в других языках программирования. В этой статье мы рассмотрим, что такое трейты и как их реализовать в Rust. Определение трейта Трейт определяет набор методов, которые тип должен реализовать для того, чтобы поддерживать этот трейт. Они позволяют гарантировать, что конкретный тип имеет определенные функциональные возможности. В этом примере, мы определяем трейт Printable, который имеет один метод print(). Каждый тип, реализующий этот трейт, должен предоставить собственную реализацию метода print(). Реализация трейта Реализация трейта позволяет типу предоставить реализацию методов, определенных в трейте. Реализация трейта для конкретного типа осуществляется с помощью ключевого слова impl. В этом примере, мы определяем структуру Circle, а затем реализуем для неё трейт Printable, предоставляя собствен