Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsTsTmClL3 155 of 173 menu
◀ ▶

Задачи на ООП в Rust. Часть 3

Объясните, как сделать поля private через модуль mod employee { ... } и pub(crate).

Дан код в модуле:

pub struct BankAccount { balance: i32 }

Сделайте balance доступным только через методы deposit и withdraw.

Запретите прямое изменение salary снаружи модуля — только через set_salary.

Сделайте private helper-метод fn validate_age(age: u32) -> bool внутри модуля.

Сделайте public метод, вызывающий private helper.

Дан struct:

struct User { email: String }

Сделайте setter с проверкой наличия "@" в email.

Объясните разницу между pub, pub(crate) и private.

Сделайте struct с private полем и public constructor, проверяющим инварианты.

Сделайте метод age_mut(&mut self) -> &mut u32 — когда это уместно?

Создайте struct Wallet с приватным полем баланса и методами deposit, withdraw и balance.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить