Rust 语言之旅 目录

使用 Trait 实现多态

Rust 支持多态的特性。Trait 允许我们将一组方法与结构类型关联起来。

我们首先在 Trait 里面定义函数签名:

trait MyTrait {
    fn foo(&self);
    ...
}

当一个结构体实现一个 trait 时,它便建立了一个契约,允许我们通过 trait 类型与结构体进行间接交互(例如 &dyn MyTrait),而不必知道其真实的类型。

结构体实现 Trait 方法是在实现块中定义要实现的方法:

impl MyTrait for MyStruct { 
    fn foo(&self) {
        ...
    }
    ... 
}