mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-03-14 03:10:44 +08:00
Update Ch10
This commit is contained in:
parent
3e9b31aa71
commit
7c7b31ee58
@ -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`
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user