Rust 程序设计语言 简体中文版 1.85.0
供我们调用即可。 在拥有继承的语言中,可以定义一个名为 Component 的类,该类上有一个 draw 方法。其他的 类比如 Button、Image 和 SelectBox 会从 Component 派生并因此继承 draw 方法。它们各自都 可以重写 draw 方法来定义自己的行为,但是框架会把所有这些类型当作是 Component 的实例, 并在其上调用 draw。不过 Rust 并没有继承,我们需要寻找另一种方式来设计 pub fn run(&self) { for component in self.components.iter() { component.draw(); } } } 示例 18-5:在 Screen 上实现一个 run 方法,该方法在每个 component 上调用 draw 方法 这与定义使用了带有 trait bound implScreen where T: Draw, { pub fn run(&self) { for component in self.components.iter() { component.draw(); } } } 示例 18-6: 一种 Screen 结构体的替代实现,其 run 方法使用泛型和 trait 0 码力 | 562 页 | 3.23 MB | 9 天前3
共 1 条
- 1