Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.25 KB

File metadata and controls

69 lines (51 loc) · 2.25 KB

Implémentation de Traits - Donner des Capacités! 🎁

Learning Objectives

  • Implémenter des traits pour des types (c'est simple!)
  • Comprendre impl Trait for Type
  • Utiliser les méthodes de trait

Core Explanation

For Absolute Beginners - C'est Comme Donner des Capacités! 🎁

Imaginez que vous donnez 🎁 des capacités à un type:

  • impl Trait for Type = Donner des capacités (méthodes) à un type
  • Le type peut maintenant faire ce que le trait définit
  • C'est super simple et super puissant!

C'est exactement comme implémenter des traits fonctionne! C'est super logique!

Schéma Visuel - Implémentation

┌─────────────────────────────────────────┐
│  🎁 IMPL = DONNER CAPACITÉS 🎁        │
├─────────────────────────────────────────┤
│                                         │
│  struct Personne { ... }               │
│         │                                │
│         ▼ impl Parler for Personne     │
│  ┌─────────────┐                        │
│  │ Capacités   │ → dire_bonjour()      │
│  └─────────────┘                        │
│                                         │
│  Personne peut maintenant parler! ✅    │
│                                         │
└─────────────────────────────────────────┘

Mnémonique: "Donner Capacités" - Implémenter un trait, c'est donner des capacités à un type, comme donner un cadeau!

Code Examples

Example 1: Implémentation Basique

trait Parler {
    fn dire_bonjour(&self);
}

struct Personne {
    nom: String,
}

impl Parler for Personne {
    fn dire_bonjour(&self) {
        println!("Bonjour, je suis {}", self.nom);
    }
}

fn main() {
    let p = Personne { nom: String::from("Alice") };
    p.dire_bonjour();
}

Official Resources