Menu
CoddyTech

Cho thú cưng ăn

Thuộc phần Lập trình hướng đối tượng trong hành trình Rust của Coddy. Bài học 20 trên 61.

challenge icon

Thử thách

Dễ

Giờ đây, thú cưng của bạn đã có mặt, đã đến lúc cho nó khả năng ăn! Ở bước này, bạn sẽ thêm một phương thức feed để chăm sóc cơn đói của thú cưng.

Dựa trên module pet.rs hiện có, hãy thêm phương thức feed để giảm mức độ đói của thú cưng. Khi được cho ăn, mức độ đói của thú cưng sẽ giảm 30, nhưng không bao giờ thấp hơn 0. Sau khi cho ăn, phương thức cần in ra thông báo cho biết thú cưng đã thưởng thức bữa ăn.

Bạn cũng cần một phương thức getter hunger để kiểm tra mức độ đói của thú cưng từ bên ngoài module.

Trong main.rs, bạn sẽ đọc tên thú cưng và giá trị đói ban đầu. Hãy tạo thú cưng, đặt mức độ đói ban đầu, cho thú cưng ăn một lần, rồi hiển thị mức độ đói đã cập nhật.

Đầu ra cần theo định dạng sau:

{name} enjoyed the meal!
Hunger: {hunger_level}

Ví dụ, nếu đầu vào là:

Buddy
50

Đầu ra sẽ là:

Buddy enjoyed the meal!
Hunger: 20

Và nếu mức độ đói ban đầu là 20, việc cho ăn sẽ đưa mức đói về 0 (không phải số âm):

Buddy enjoyed the meal!
Hunger: 0

Bạn cần thêm phương thức set_hunger để khởi tạo mức độ đói cho mục đích kiểm thử, vì hàm khởi tạo new mặc định đặt mức độ đói là 0.

Tự làm thử

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());
}

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Rust online