Menu
Coddy logo textTech

Récapitulatif - Lecteur multimédia

Fait partie de la section Programmation Orientée Objet du Journey Rust de Coddy. Leçon 34 sur 61.

challenge icon

Défi

Facile

Construisons un système de lecteur multimédia simple qui montre comment différents types de médias peuvent partager une interface commune grâce aux traits !

Vous organiserez votre code sur trois fichiers :

  • playable.rs : définissez un trait public Playable avec une méthode play(&self) qui affiche un résultat lorsqu'elle est appelée. Ce trait représente la capacité commune que tous les types de médias posséderont.
  • media.rs : créez deux structures publiques qui implémentent votre trait :
    • Audio : avec un champ public title (String) qui affiche Playing audio: {title} lors de la lecture
    • Video : avec un champ public title (String) qui affiche Playing video: {title} lors de la lecture
  • main.rs : réunissez vos modules et créez des instances des deux types de médias à l'aide des entrées fournies. Appelez la méthode play sur chacune d'elles afin de montrer comment le même trait produit des résultats différents selon le type de média.

Votre sortie doit suivre ce format :

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

Par exemple, avec les entrées Bohemian Rhapsody et The Matrix :

Playing audio: Bohemian Rhapsody
Playing video: The Matrix

Vous recevrez deux entrées : un titre audio et un titre vidéo.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Essayez vous-même

mod playable;
mod media;

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

fn main() {
    // Lire l'entrée
    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: Créer une instance Audio avec audio_title
    
    // TODO: Créer une instance Video avec video_title
    
    // TODO: Appeler play() sur les deux instances
}

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur Rust en ligne