/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/oop-practice-sources/rust/smartphone.rs
35 строк
813 B
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
struct Smartphone { model: String, battery: i32, } impl Smartphone { fn new(model: &str) -> Self { Self { model: model.to_string(), battery: 20, } } fn call(&mut self) { self.battery = (self.battery - 5).max(0); println!("Звонок с {}... Заряд: {}%", self.model, self.battery); } fn charge(&mut self) { self.battery = (self.battery + 30).min(100); println!("Зарядка {}... Заряд: {}%", self.model, self.battery); } fn show_status(&self) { println!("Смартфон {}: заряд {}%", self.model, self.battery); } } fn main() { let mut phone = Smartphone::new("Pixel"); phone.show_status(); phone.call(); phone.charge(); phone.show_status(); }