diff --git a/src/ch17-02-trait-objects.md b/src/ch17-02-trait-objects.md index 0460caf..97e8949 100644 --- a/src/ch17-02-trait-objects.md +++ b/src/ch17-02-trait-objects.md @@ -18,7 +18,7 @@ get Chapter 8 for editing. /Carol --> 在有继承的语言里,我们可能会定义一个名为`Component`的类,该类上有一个`draw`方法。其他的类比如`Button`、`Image`和`SelectBox`会从`Component`继承并继承`draw`方法。它们会各自覆写`draw`方法来自定义行为,但是框架会把所有的类型当作是`Component`的实例,并在它们上调用`draw`。 -## 定义一个带有自定义行为的Trait +### 定义一个带有自定义行为的Trait 不过,在Rust语言中,我们可以定义一个名为`Draw`的trait,其上有一个名为`draw`的方法。我们定义一个带有*trait对象*的vector,绑定了一种指针的trait,比如`&`引用或者一个`Box`智能指针。 @@ -111,7 +111,7 @@ impl Screen 而如果使用内部有`Vec>` trait对象的列表的`Screen`结构体,`Screen`实例可以同时包含`Box