Menu
Coddy logo textTech

Özet - Media Player

Coddy'nin Rust Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 34 / 61.

challenge icon

Görev

Kolay

Trait'ler aracılığıyla farklı medya türlerinin ortak bir arayüzü nasıl paylaşabileceğini gösteren basit bir medya oynatıcı sistemi oluşturalım!

Kodunuzu üç dosyada düzenleyeceksiniz:

  • playable.rs: Çağrıldığında çıktı yazdıran bir Playable trait'ini ve play(&self) metodunu public olarak tanımlayın. Bu trait, tüm medya türlerinin sahip olacağı ortak yeteneği temsil eder.
  • media.rs: Trait'inizi uygulayan iki public struct oluşturun:
    • Audio: Oynatıldığında title yazdıran public bir Playing audio: {title} alanına (String) sahip
    • Video: Oynatıldığında title yazdıran public bir Playing video: {title} alanına (String) sahip
  • main.rs: Modüllerinizi bir araya getirin ve sağlanan girdileri kullanarak her iki medya türünün örneklerini oluşturun. Aynı trait'in medya türüne göre nasıl farklı çıktılar ürettiğini göstermek için her birinde play metodunu çağırın.

Çıktınız şu formatı izlemelidir:

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

Örneğin, girdiler Bohemian Rhapsody ve The Matrix olduğunda:

Playing audio: Bohemian Rhapsody
Playing video: The Matrix

İki girdi alacaksınız: bir ses başlığı ve bir video başlığı.

Kendin dene

mod playable;
mod media;

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

fn main() {
    // Girdiyi oku
    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: audio_title ile bir Audio örneği oluştur
    
    // TODO: video_title ile bir Video örneği oluştur
    
    // TODO: Her iki örnek üzerinde de play() çağır
}

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi