optimize ch20-03

pull/851/head
vhtmui 1 week ago
parent c6e53f739c
commit 7acfce257a

@ -144,7 +144,7 @@ Rust 既不能避免一个 trait 与另一个 trait 拥有相同名称的方法
因为 `fly` 方法获取一个 `self` 参数,如果有两个 **类型** 都实现了同一 **trait**Rust 可以根据 `self` 的类型计算出应该使用哪一个 trait 实现。
然而,不是方法的关联函数没有 `self`数。当存在多个类型或者 trait 定义了相同函数名的非方法函数时Rust 就不总是能计算出我们期望的是哪一个类型,除非使用 **完全限定语法***fully qualified syntax*)。例如示例 19-19 中的创建了一个希望将所有小狗叫做 *Spot* 的动物收容所的 trait。`Animal` trait 有一个关联非方法函数 `baby_name`。结构体 `Dog` 实现了 `Animal`,同时又直接提供了关联非方法函数 `baby_name`
然而,并非所有关联函数都有 `self` 参数比如非方法non-method数。当存在多个类型或者 trait 定义了相同函数名的非方法函数时Rust 就不总是能计算出我们期望的是哪一个类型,除非使用 **完全限定语法***fully qualified syntax*)。例如示例 19-19 中的创建了一个希望将所有小狗叫做 *Spot* 的动物收容所的 trait。`Animal` trait 有一个关联非方法函数 `baby_name`。结构体 `Dog` 实现了 `Animal`,同时又直接提供了关联非方法函数 `baby_name`
<span class="filename">文件名src/main.rs</span>

Loading…
Cancel
Save