Latihan 1: Traits di Rust — Rust

Latihan 1 dari materi Traits di Rust di Rust — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Di belakang kedai ada kucing dan anjing penjaga, dan masing-masing harus bisa memperkenalkan diri. Editor sudah berisi trait Hewan dengan method wajib fn suara(&self) -> String;, unit struct struct Kucing; dan struct Anjing;, dan fn main() yang masih kosong. Biarkan semuanya, lalu:

  1. Di dalam trait Hewan, di bawah suara, tambah default method fn perkenalan(&self) -> String yang mengembalikan format!("Saya adalah hewan dan bilang: {}", self.suara()).
  2. Tulis impl Hewan for Kucing dengan fn suara(&self) -> String yang mengembalikan String::from("meow").
  3. Tulis impl Hewan for Anjing dengan suara yang mengembalikan String::from("guk"). Keduanya gak menulis perkenalan, jadi memakai default-nya.
  4. Di main, buat let kucing = Kucing; dan let anjing = Anjing;, lalu cetak println!("{}", kucing.perkenalan()); dan println!("{}", anjing.perkenalan());.
  5. Klik Jalankan.

Output-nya:

Saya adalah hewan dan bilang: meow
Saya adalah hewan dan bilang: guk

Yang diperiksa: output memuat meow dan guk; kode-mu punya impl Hewan for Kucing dan impl Hewan for Anjing; lalu checker menambah hewan uji yang suara-nya "brr": suara() harus memberi brr, dan perkenalan() harus memberi Saya adalah hewan dan bilang: brr. Jadi perkenalan harus memakai self.suara(), bukan teks yang ditulis mati.

Hint