Menu
CoddyTech

Trait Draw

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Rust di Coddy. Pelajaran 49 dari 61.

challenge icon

Tantangan

Mudah

Mari mulai membangun Sistem Dokumen! Dalam proyek ini, kamu akan membuat framework fleksibel untuk merender komponen UI menggunakan trait object. Dasarnya dimulai dengan mendefinisikan trait Draw dalam file module tersendiri.

Kamu akan membuat dua file untuk mengatur kodemu:

  • draw.rs: Definisikan trait Draw publik dengan satu method bernama draw yang menerima &self dan mencetak output. Trait ini akan menjadi kontrak yang harus dipenuhi oleh semua komponen UI.
  • main.rs: Sertakan module draw dan buat struct sederhana bernama Label dengan field text publik (sebuah String). Implementasikan trait Draw untuk Label agar pemanggilan draw() mencetak teks label.

Dalam fungsi main-mu, buat instance Label dan panggil method draw()-nya untuk menampilkan teks.

Input berikut akan diberikan:

  • Sebuah string yang mewakili teks label

Output-mu harus sama persis dengan teks label pada satu baris.

Coba sendiri

mod draw;

use draw::Draw;

// TODO: Definisikan struct publik bernama Label dengan field text publik (String)

// TODO: Implementasikan trait Draw untuk Label
// method draw harus mencetak teks 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: Buat instance Label dengan teks input
    // TODO: Panggil method draw() pada label
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Rust online