Menu
CoddyTech

Rangkuman: Pemutar Media

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

challenge icon

Tantangan

Mudah

Mari buat sistem pemutar media sederhana yang menunjukkan cara berbagai jenis media dapat menggunakan antarmuka bersama melalui trait!

Kamu akan mengatur kodemu dalam tiga file:

  • playable.rs: Definisikan trait Playable publik dengan method play(&self) yang mencetak output saat dipanggil. Trait ini mewakili kemampuan bersama yang dimiliki semua jenis media.
  • media.rs: Buat dua struct publik yang mengimplementasikan trait-mu:
    • Audio: dengan field title publik (String) yang mencetak Playing audio: {title} saat diputar
    • Video: dengan field title publik (String) yang mencetak Playing video: {title} saat diputar
  • main.rs: Satukan module-modulmu dan buat instance dari kedua jenis media menggunakan input yang diberikan. Panggil method play pada masing-masing instance untuk menunjukkan cara trait yang sama menghasilkan output berbeda berdasarkan jenis media.

Output-mu harus mengikuti format ini:

Playing audio: {audio_title}
Playing video: {video_title}

Contohnya, dengan input Bohemian Rhapsody dan The Matrix:

Playing audio: Bohemian Rhapsody
Playing video: The Matrix

Kamu akan menerima dua input: judul audio dan judul video.

Coba sendiri

mod playable;
mod media;

use media::{Audio, Video};
use playable::Playable;

fn main() {
    // Baca input
    let mut audio_title = String::new();
    std::io::stdin().read_line(&mut audio_title).expect("Failed to read line");
    let audio_title = audio_title.trim().to_string();
    
    let mut video_title = String::new();
    std::io::stdin().read_line(&mut video_title).expect("Failed to read line");
    let video_title = video_title.trim().to_string();
    
    // TODO: Buat instance Audio dengan audio_title
    
    // TODO: Buat instance Video dengan video_title
    
    // TODO: Panggil play() pada kedua instance
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Rust online