Rust-base-learning-4

Rust基础学习–(四)

十、特征Trait

特征定义了一组可以被共享的行为,只要实现了特征,就能使用这组行为

定义

如果不同的类型具有相同的行为,那么我们就可以定义一个特征,然后为这些类型实现该特征。定义特征是把一些方法组合在一起,目的是定义一个实现某些目标所必需的行为的集合。

eg:

1
2
3
pub trait Summary {
fn summarize(&self) -> String;
}

这里使用 trait 关键字来声明一个特征,Summary 是特征名。在大括号中定义了该特征的所有方法,在这个例子中是: fn summarize(&self) -> String

特征只定义行为看起来是什么样的,而不定义行为具体是怎么样的。因此,我们只定义特征方法的签名,而不进行实现,此时方法签名结尾是 ;,而不是一个 {}

接下来,每一个实现这个特征的类型都需要具体实现该特征的相应方法,编译器也会确保任何实现 Summary 特征的类型都拥有与这个签名的定义完全一致的 summarize 方法。


Rust-base-learning-4
http://example.com/2025/07/05/Rust-base-learning-4/
作者
oxygen
发布于
2025年7月5日
许可协议