Trait Draw
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Rust di Coddy. Pelajaran 49 dari 61.
Tantangan
MudahMari 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 traitDrawpublik dengan satu method bernamadrawyang menerima&selfdan mencetak output. Trait ini akan menjadi kontrak yang harus dipenuhi oleh semua komponen UI.main.rs: Sertakan moduledrawdan buat struct sederhana bernamaLabeldengan fieldtextpublik (sebuahString). Implementasikan traitDrawuntukLabelagar pemanggilandraw()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
1Method dan Perilaku
Pengantar Blok ImplementasiParameter SelfMethod MutableFungsi TerkaitBeberapa Blok ImplementasiMethod BerantaiRangkuman: Aksi Persegi Panjang4Proyek: Hewan Peliharaan Virtual
Mendefinisikan Hewan PeliharaanMemberi Makan Hewan Peliharaan2Enkapsulasi dan module
Dasar-Dasar moduleKata Kunci publicField privateGetterSetterRekap: Loker AmanLatihan sendiri: Compiler Rust online