Skip to content

Commit

Permalink
Fix a typo in item2-use-types-2.md
Browse files Browse the repository at this point in the history
  • Loading branch information
weliu authored Oct 19, 2024
1 parent bd13529 commit 9a11d66
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/chapter_1/item2-use-types-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ Rust 有三种不同的 `Fn*` 特征,它们之间表达了关于环境捕获

特征中的每个方法也有一个名称,这允许编译器区分具有相同签名的方法,更重要的是,它允许程序员推断方法的目的。

Rust 的特征大致类似于 Go 和 Java 中的“接口”,或者 C++ 中的“抽象类”(所有虚拟方法,没有数据成员)。特征的实县必须提供所有方法(但请注意特征定义可以包括默认的实现,[第13条]),并且还可以有相关联的数据,那些实现会使用这些数据。这意味着代码和数据在共同的抽象中以某种面向对象的方式一起封装。
Rust 的特征大致类似于 Go 和 Java 中的“接口”,或者 C++ 中的“抽象类”(所有虚拟方法,没有数据成员)。特征的实现必须提供所有方法(但请注意特征定义可以包括默认的实现,[第13条]),并且还可以有相关联的数据,那些实现会使用这些数据。这意味着代码和数据在共同的抽象中以某种面向对象的方式一起封装。

接受结构体并调用其方法的代码被限制只能与特定类型一起工作。如果有多个类型实现了公共行为,那么定义一个特征来封装这种行为,并让代码使用特征的方法而不是特定结构体的方法会更加灵活。

Expand Down

0 comments on commit 9a11d66

Please sign in to comment.