Menu
Coddy logo textTech

Определение питомца

Часть раздела Объектно-ориентированное программирование путешествия по Rust на Coddy. Урок 19 из 61.

challenge icon

Задание

Легко

Добро пожаловать в проект «Виртуальный питомец»! В следующих нескольких уроках ты создашь полноценную симуляцию питомца, которая объединит всё, что ты узнал о struct, method, модулях и инкапсуляции.

Давай начнём создавать твоего виртуального питомца! На этом первом шаге ты заложишь основу, создав struct Pet в отдельном модуле с правильной инкапсуляцией.

Ты организуешь код в двух файлах:

  • pet.rs: Define свою struct Pet с тремя private полями: name (String), energy (u32) и hunger (u32). Implement public new associated function, которая takes имя и создаёт питомца с energy, установленным в 100, и hunger, установленным в 0. Также добавь public getter method name, который returns reference на имя питомца.
  • main.rs: Объяви модуль pet и добавь Pet в область видимости. Считай имя из ввода, создай нового питомца с этим именем и выведи приветственное сообщение.

Твоё приветственное сообщение должно соответствовать этому формату:

Welcome, {name}!

Например, если на вход подаётся Buddy, результат должен быть таким:

Welcome, Buddy!

Помни, что struct должна быть public, чтобы её можно было использовать из main.rs, но поля должны оставаться private: доступ к ним возможен только через предоставленные тобой method.

Попробуйте сами

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: Создать нового Pet с заданным именем

    // TODO: Вывести приветственное сообщение, используя геттер имени питомца
    // Формат: "Welcome, {name}!"
}

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор Rust