update ch10-02 close #787

This commit is contained in:
KaiserY 2024-04-11 23:34:05 +08:00
parent 3668d0ddf6
commit 3b2fea1b96

View File

@ -42,7 +42,7 @@ trait 体中可以有多个方法:一行一个方法签名且都以分号结
<span class="caption">示例 10-13`NewsArticle``Tweet` 类型上实现 `Summary` trait</span> <span class="caption">示例 10-13`NewsArticle``Tweet` 类型上实现 `Summary` trait</span>
在类型上实现 trait 类似于实现与 trait 无关的方法。区别在于 `impl` 关键字之后,我们提供需要实现 trait 的名称,接着是 `for` 和需要实现 trait 的类型的名称。在 `impl` 块中,使用 trait 定义中的方法签名,不过不再后跟分号,而是需要在大括号中编写函数体来为特定类型实现 trait 方法所拥有的行为。 在类型上实现 trait 类似于实现常规方法。区别在于 `impl` 关键字之后,我们提供需要实现 trait 的名称,接着是 `for` 和需要实现 trait 的类型的名称。在 `impl` 块中,使用 trait 定义中的方法签名,不过不再后跟分号,而是需要在大括号中编写函数体来为特定类型实现 trait 方法所拥有的行为。
现在库在 `NewsArticle``Tweet` 上实现了`Summary` traitcrate 的用户可以像调用常规方法一样调用 `NewsArticle``Tweet` 实例的 trait 方法了。唯一的区别是 trait 必须和类型一起引入作用域以便使用额外的 trait 方法。这是一个二进制 crate 如何利用 `aggregator` 库 crate 的例子: 现在库在 `NewsArticle``Tweet` 上实现了`Summary` traitcrate 的用户可以像调用常规方法一样调用 `NewsArticle``Tweet` 实例的 trait 方法了。唯一的区别是 trait 必须和类型一起引入作用域以便使用额外的 trait 方法。这是一个二进制 crate 如何利用 `aggregator` 库 crate 的例子: