Menu
Coddy logo textTech

Das Draw-Trait

Teil des Abschnitts Object Oriented Programming der Rust-Journey von Coddy — Lektion 49 von 61.

challenge icon

Aufgabe

Einfach

Lassen Sie uns mit dem Aufbau eines Dokumentensystems beginnen! In diesem Projekt erstellen Sie ein flexibles Framework für das Rendern von UI-Komponenten unter Verwendung von Trait-Objekten. Die Grundlage beginnt mit der Definition eines Draw-Traits in einer eigenen Moduldatei.

Sie werden zwei Dateien erstellen, um Ihren Code zu organisieren:

  • draw.rs: Definieren Sie einen öffentlichen Draw-Trait mit einer einzelnen Methode namens draw, die &self entgegennimmt und eine Ausgabe druckt. Dieser Trait dient als Vertrag, den alle UI-Komponenten erfüllen müssen.
  • main.rs: Binden Sie Ihr draw-Modul ein und erstellen Sie eine einfache Struktur namens Label mit einem öffentlichen text-Feld (ein String). Implementieren Sie den Draw-Trait für Label, sodass der Aufruf von draw() den Text des Labels ausgibt.

Erstellen Sie in Ihrer Hauptfunktion eine Label-Instanz und rufen Sie deren draw()-Methode auf, um den Text anzuzeigen.

Die folgende Eingabe wird bereitgestellt:

  • Ein String, der den Text des Labels darstellt

Ihre Ausgabe sollte genau der Text des Labels in einer einzelnen Zeile sein.

Probier es selbst

mod draw;

use draw::Draw;

// TODO: Definiere ein öffentliches struct namens Label mit einem öffentlichen text-Feld (String)

// TODO: Implementiere das Draw-Trait für Label
// Die draw-Methode sollte den Text des Labels ausgeben

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: Erstelle eine Label-Instanz mit dem eingegebenen Text
    // TODO: Rufe die draw()-Methode für das Label auf
}

Alle Lektionen in Object Oriented Programming