Трейты
Rust позволяет абстрагироваться от типов с помощью трейтов. Они похожи на интерфейсы:
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
trait Pet {
/// Возвращает фразу, которую произносит этот питомец.
fn talk(&self) -> String;
/// Выводит в терминал строку-приветствие от этого питомца.
fn greet(&self);
}
This slide and its sub-slides should take about 15 minutes.
-
Трейт определяет набор методов, которые должны быть у типа, чтобы реализовать этот трейт.
-
В следующем сегменте «Обобщения» мы увидим, как создать функциональность, обобщённую по всем типам, реализующим трейт.