Menu
Coddy logo textTech

Il trait Draw

Fa parte della sezione Programmazione orientata agli oggetti del percorso Rust di Coddy. Lezione 49 di 61.

challenge icon

Sfida

Facile

Cominciamo a costruire un sistema di documenti! In questo progetto creerai un framework flessibile per il rendering dei componenti UI usando oggetti trait. Le basi partono dalla definizione di un trait Draw nel suo file di modulo.

Creerai due file per organizzare il codice:

  • draw.rs: Definisci un trait pubblico Draw con un solo metodo chiamato draw che prende &self e stampa l'output. Questo trait fungerà da contratto che tutti i componenti UI devono rispettare.
  • main.rs: Importa il tuo modulo draw e crea una semplice struct chiamata Label con un campo pubblico text (una String). Implementa il trait Draw per Label, in modo che chiamare draw() stampi il testo dell'etichetta.

Nella funzione principale, crea un'istanza di Label e chiama il suo metodo draw() per visualizzare il testo.

Verrà fornito il seguente input:

  • Una stringa che rappresenta il testo dell'etichetta

L'output deve essere esattamente il testo dell'etichetta su una singola riga.

Provalo tu

mod draw;

use draw::Draw;

// TODO: Definisci una struct pubblica chiamata Label con un campo text pubblico (String)

// TODO: Implementa il trait Draw per Label
// Il metodo draw deve stampare il testo dell'etichetta

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: Crea un'istanza di Label con il testo di input
    // TODO: Chiama il metodo draw() sull'etichetta
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Rust online