Draw trait
本课属于 Coddy Rust 学习旅程的“面向对象编程”单元。第 49 课,共 61 课。
挑战
简单让我们开始构建一个文档系统!在这个项目中,你将使用 trait 对象创建一个灵活的框架来渲染 UI 组件。首先要在单独的模块文件中定义一个 Draw trait。
你需要创建两个文件来组织代码:
draw.rs:定义一个公开的Drawtrait,其中包含一个名为draw的方法。该方法接收&self并打印输出。这个 trait 将作为所有 UI 组件都必须遵守的约定。main.rs:引入draw模块,并创建一个名为Label的简单结构体,其中有一个公开的text字段(类型为String)。为Label实现Drawtrait,这样调用draw()时就会打印标签的文本。
在主函数中,创建一个 Label 实例,并调用它的 draw() 方法来显示文本。
输入内容如下:
- 一个表示标签文本的字符串
输出应当恰好是标签文本,并且只占一行。
亲手试试
mod draw;
use draw::Draw;
// TODO: 定义一个名为 Label 的公共结构体,包含一个公共的 text 字段(String)
// TODO: 为 Label 实现 Draw trait
// draw 方法应打印标签的文本
fn main() {
let mut input = String::new();
std::io::stdin().read_line(&mut input).expect("Failed to read line");
let text = input.trim().to_string();
// TODO: 用输入的文本创建一个 Label 实例
// TODO: 调用该标签的 draw() 方法
}
面向对象编程中的所有课
自己练习: Rust 在线编译器