Appearance
5.9 总结
本章对 trait 这个概念做了基本的介绍。除了上面介绍的之外,trait 还有许多用处:
trait 本身可以携带泛型参数;
trait 可以用在泛型参数的约束中;
trait 可以为一组类型 impl,也可以单独为某一个具体类型 impl,而且它们可以同时存在;
trait 可以为某个 trait impl,而不是为某个具体类型 impl;
trait 可以包含关联类型,而且还可以包含类型构造器,实现高阶类型的某些功能;
trait 可以实现泛型代码的静态分派,也可以通过 trait object 实现动态分派;
trait 可以不包含任何方法,用于给类型做标签(marker),以此来描述类型的一些重要特性;
trait 可以包含常量。
trait 这个概念在 Rust 语言中扮演了非常重要的角色,承担了各种各样的功能,在写代码的时候会经常用到。本章还远没有把 trait 相关的知识讲解完整,更多关于 trait 的内容,请参阅本书后文中与泛型、trait object 线程安全有关的章节。