喂养宠物
本课属于 Coddy Rust 学习旅程的“面向对象编程”单元。第 20 课,共 61 课。
挑战
简单现在你的宠物已经创建好了,是时候让它拥有进食的能力了!在这一步中,你将添加一个 feed 方法,让你可以照顾宠物的饥饿状态。
在现有的 pet.rs 模块基础上,添加一个 feed 方法来降低宠物的饥饿值。喂食后,宠物的饥饿值应减少 30,但不能低于 0。喂食后,该方法应打印一条消息,说明宠物享用了这顿饭。
你还需要添加一个 hunger getter 方法,这样就能从模块外部查看宠物的饥饿值。
在 main.rs 中,你将读取宠物的名字和初始饥饿值。创建宠物,设置它的初始饥饿值,喂它一次,然后显示更新后的饥饿值。
输出应符合以下格式:
{name} enjoyed the meal!
Hunger: {hunger_level}例如,如果输入是:
Buddy
50输出应为:
Buddy enjoyed the meal!
Hunger: 20如果初始饥饿值是 20,喂食后饥饿值会降到 0(不会变成负数):
Buddy enjoyed the meal!
Hunger: 0你需要添加一个 set_hunger 方法来设置初始饥饿值,以便进行测试,因为 new 构造函数默认会将饥饿值设为 0。
亲手试试
mod pet;
use pet::Pet;
fn main() {
let mut name = String::new();
std::io::stdin().read_line(&mut name).expect("Failed to read line");
let name = name.trim().to_string();
let my_pet = Pet::new(name);
println!("Pet name: {}", my_pet.name());
}面向对象编程中的所有课
自己练习: Rust 在线编译器