Menu
Coddy logo textTech

Le trait Draw

Fait partie de la section Object Oriented Programming du Journey Rust de Coddy — leçon 49 sur 61.

challenge icon

Défi

Facile

Commençons à construire un système de documents ! Dans ce projet, vous allez créer un framework flexible pour le rendu de composants d'interface utilisateur (UI) en utilisant des objets de trait. La base commence par la définition d'un trait Draw dans son propre fichier de module.

Vous allez créer deux fichiers pour organiser votre code :

  • draw.rs : Définissez un trait public Draw avec une seule méthode appelée draw qui prend &self et affiche une sortie. Ce trait servira de contrat que tous les composants UI devront respecter.
  • main.rs : Importez votre module draw et créez une structure simple appelée Label avec un champ public text (un String). Implémentez le trait Draw pour Label de sorte que l'appel à draw() affiche le texte du label.

Dans votre fonction principale, créez une instance de Label et appelez sa méthode draw() pour afficher le texte.

L'entrée suivante sera fournie :

  • Une chaîne de caractères représentant le texte du label

Votre sortie doit être exactement le texte du label sur une seule ligne.

Essayez vous-même

mod draw;

use draw::Draw;

// TODO: Définir une structure publique appelée Label avec un champ text public (String)

// TODO: Implémenter le trait Draw pour Label
// La méthode draw doit afficher le texte du label

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: Créer une instance de Label avec le texte saisi
    // TODO: Appeler la méthode draw() sur le label
}

Toutes les leçons de Object Oriented Programming