Menu
Coddy logo textTech

Le trait Draw

Fait partie de la section Programmation Orientée Objet 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, tu vas créer un framework flexible pour afficher des composants d’interface utilisateur à l’aide d’objets de trait. La base consiste à définir un trait Draw dans son propre fichier de module.

Tu vas créer deux fichiers pour organiser ton code :

  • draw.rs : définis 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 d’interface utilisateur devront respecter.
  • main.rs : importe ton module draw et crée une structure simple appelée Label avec un champ public text (un String). Implémente le trait Draw pour Label afin que l’appel à draw() affiche le texte de l’étiquette.

Dans ta fonction principale, crée une instance de Label et appelle sa méthode draw() pour afficher le texte.

L’entrée suivante sera fournie :

  • Une chaîne représentant le texte de l’étiquette

Ta sortie doit être exactement le texte de l’étiquette 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 Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur Rust en ligne