Menu
CoddyTech

Định nghĩa thú cưng

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 19 trên 61.

challenge icon

Thử thách

Dễ

Chào mừng bạn đến với dự án thú cưng ảo! Trong vài bài học tiếp theo, bạn sẽ xây dựng một mô phỏng thú cưng hoàn chỉnh, kết hợp mọi thứ bạn đã học về struct, phương thức, module và tính đóng gói.

Bắt đầu xây dựng thú cưng ảo nào! Ở bước đầu tiên này, bạn sẽ tạo nền tảng bằng cách tạo một struct Pet trong module riêng, với tính đóng gói phù hợp.

Bạn sẽ sắp xếp code trong hai tệp:

  • pet.rs: Định nghĩa struct Pet với ba trường riêng tư: name (String), energy (u32) và hunger (u32). Triển khai hàm liên kết công khai new, nhận một tên và tạo thú cưng có energy được đặt thành 100 và hunger được đặt thành 0. Đồng thời thêm phương thức getter công khai name, trả về tham chiếu đến tên của thú cưng.
  • main.rs: Khai báo module pet và đưa Pet vào phạm vi. Đọc tên từ đầu vào, tạo thú cưng mới với tên đó và in ra lời chào mừng.

Lời chào mừng của bạn cần theo định dạng này:

Welcome, {name}!

Ví dụ, nếu đầu vào là Buddy, đầu ra sẽ là:

Welcome, Buddy!

Hãy nhớ rằng struct cần được khai báo công khai để có thể dùng từ main.rs, nhưng các trường phải luôn riêng tư: chỉ có thể truy cập thông qua những phương thức bạn cung cấp.

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

    // TODO: Tạo một Pet mới với tên đã cho

    // TODO: In lời chào bằng phương thức lấy tên của thú cưng
    // Định dạng: "Welcome, {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