Menu
Coddy logo textTech

Trait Draw

Część sekcji Programowanie obiektowe ścieżki Rust w Coddy. Lekcja 49 z 61.

challenge icon

Wyzwanie

Łatwy

Rozpocznijmy budowanie systemu dokumentów! W tym projekcie utworzysz elastyczny framework do renderowania komponentów interfejsu użytkownika za pomocą obiektów cech. Podstawą będzie zdefiniowanie cechy Draw w osobnym pliku modułu.

Utworzysz dwa pliki, aby uporządkować kod:

  • draw.rs: Zdefiniuj publiczną cechę Draw z jedną metodą o nazwie draw, która przyjmuje &self i wyświetla tekst. Ta cecha będzie określać wymagania, które muszą spełniać wszystkie komponenty interfejsu użytkownika.
  • main.rs: Dołącz moduł draw i utwórz prostą strukturę o nazwie Label z publicznym polem text (typu String). Zaimplementuj cechę Draw dla Label, tak aby wywołanie draw() wyświetlało tekst etykiety.

W funkcji main utwórz instancję Label i wywołaj jej metodę draw(), aby wyświetlić tekst.

Dane wejściowe będą miały następującą postać:

  • Ciąg znaków reprezentujący tekst etykiety

Wynikiem powinien być dokładnie tekst etykiety w jednym wierszu.

Spróbuj swoich sił

mod draw;

use draw::Draw;

// TODO: Zdefiniuj publiczną strukturę o nazwie Label z publicznym polem text (String)

// TODO: Zaimplementuj cechę Draw dla Label
// Metoda draw powinna wypisywać tekst etykiety

fn main() {
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect("Failed to read line");
    let text = input.trim().to_string();

    // TODO: Utwórz instancję Label z tekstem wejściowym
    // TODO: Wywołaj metodę draw() na etykiecie
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Rust online