Update Ch10

This commit is contained in:
Unisko PENG 2023-04-13 16:53:37 +08:00
parent 3e9b31aa71
commit 7c7b31ee58

View File

@ -513,12 +513,12 @@ pub trait Summary {
在方法签名之后,咱们没有提供位于花括号里的方法实现,而是使用了一个分号。实现此特质的每种类型,必须为该方法的方法体,提供其自己的定制行为。编译器会强制要求,任何有着 `Summary` 特质的类型,都将要有与此签名完全一致的 `summarize` 方法定义好。
特质在其代码体中,可以由多个方法:这些方法签名一行一个地列出来,同时每行都已分号结束。
其代码体中,特质可有多个方法:一行一个地列出方法签名,同时每行都以分号结束。
### 在类型上实现某个特质
既然前面已经定义了所需的那个 `Summary` 特质的那些方法的签名,那么就可以将其在此处媒体聚合器中的类型上,加以实现了。下面清单 10-13 就给出了这个 `Summary` 特质,在 `NewsArticle` 结构体上,使用标题、作者以及处所字段来创建 `summaryize` 方法返回值的一种实现。而对于 `Tweet` 结构体,这里是将 `summarize` 定义作在假定推文已被限制为 280 字符情况下,返回用户名加上推文的全部文字。
既然咱们已定义出 `Summary` 特质方法所需的签名,咱们便可以在咱们的媒体聚合器中的那些类型上实现他了。下面清单 10-13 给出了在 `NewsArticle` 结构体上,使用标题、作者以及处所字段,来创建出 `summaryize` 方法返回值的一个 `Summary` 实现。而对于 `Tweet` 结构体,咱们则把 `summarize`,定义为假定推文已被限制为 280 字符时,返回用户名加上推文的全部文字。
文件名:`src/lib.rs`