Rangkuman: Pemutar Media
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Rust di Coddy. Pelajaran 34 dari 61.
Tantangan
MudahMari 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 traitPlayablepublik dengan methodplay(&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 fieldtitlepublik (String) yang mencetakPlaying audio: {title}saat diputarVideo: dengan fieldtitlepublik (String) yang mencetakPlaying video: {title}saat diputar
main.rs: Satukan module-modulmu dan buat instance dari kedua jenis media menggunakan input yang diberikan. Panggil methodplaypada 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 MatrixKamu 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
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