trpl-zh-cn/listings/ch17-oop/listing-17-06/src/lib.rs

21 lines
297 B
Rust
Raw Normal View History

2022-02-06 16:43:51 +08:00
pub trait Draw {
fn draw(&self);
}
// ANCHOR: here
pub struct Screen<T: Draw> {
pub components: Vec<T>,
}
impl<T> Screen<T>
where
T: Draw,
{
pub fn run(&self) {
for component in self.components.iter() {
component.draw();
}
}
}
// ANCHOR_END: here