概念
我们在前面章节学习过 Rust 的结构体(struct)、枚举(enum)等数据类型以及方法,并且知道通过方法可以定义类型的行为,本节我们会引入一个新的概念:Trait 特性
Trait特征:一个类型的行为由其可供调用的方法构成,如果可以对不同类型调用相同的方法的话,这些类型就可以共享相同的行为了。Trait特征是一种将方法签名组合起来的机制,目的是构建一个实现某些目的所必需的行为的集合。总的来说,它是定义类型的共享行为并实现代码的抽象。
举例说明:
我们以大雁和燕子作比喻,它们有各自的行为,比如大雁栖息在湖边,燕子在屋檐下筑巢,这类似与 Rust 中的方法。同时,它们都属于候鸟,具有南迁行为,我们就可以把这部分共通的行为抽象为 Trait,并赋予各自的实现,比如大雁以V字形队伍南迁,而燕子则低空快速飞行,飞飞停停。因此,Trait 是对类型方法的抽象,便于我们更好的管理Rust 对象。
文档:
这里演示了Trait特征如何定义,并在结构体上实现的相关逻辑。
注意:如果Trait特征方法没有默认实现,则方法定义以分号;结尾,即只有方法签名,没有{}方法体,因为具体的实现交由各类型负责。
示例代码:
这里我们定义了WildGoose 和Swallow结构体,它们有自己的方法。同时,也有南迁的共同方法,即Trait特征:migrate。
本文暂时没有评论,来添加一个吧(●'◡'●)