0 XP
?
Programmation Orientée Objet/Introduction à l'OOP
Débutant40 min25 XP

Objectifs de cette leçon

  • Comprendre les principes de la programmation orientée objet
  • Distinguer classes, objets et instances
  • Associer objets réels au modèle objet

Introduction à la Programmation Orientée Objet 🏗️

Imagine que tu construis une maison en Lego. Chaque brique est un objet avec ses propres propriétés (couleur, taille) et ce qu'elle peut faire (s'emboîter, se séparer). La POO, c'est pareil pour le code !


1. Pourquoi la POO ? 🤔

Imagine gérer une bibliothèque sans POO :

Exécution pas à pas

pseudo
1/20
▶️
' Sans POO : on éparpille les données
⚙️' Sans POO : on éparpille les donnéesLe programme exécute cette action, puis passe à la suivante.

Le programme exécute cette instruction, puis passe à la suivante.

😫 Problème : Si on ajoute une info (éditeur, ISBN), il faut modifier TOUT le code !

Avec la POO, on regroupe tout dans un objet :

Exécution pas à pas

pseudo
1/23
▶️
CLASSE Livre
⚙️CLASSE LivreLe programme exécute cette action, puis passe à la suivante.

Le programme exécute cette instruction, puis passe à la suivante.

class Livre:
    def __init__(self, titre, auteur, annee):
        self.titre = titre
        self.auteur = auteur
        self.annee = annee

    def decrire(self):
        return f"{self.titre} — {self.auteur} ({self.annee})"

livre = Livre("1984", "Orwell", 1949)
print(livre.decrire())

💡 L'objet contient TOUT ce qui concerne le livre. Pour ajouter l'éditeur, on modifie juste la classe Livre, pas tout le programme !


2. Une classe = un plan, un objet = une réalisation 🏭

💡 La classe c'est le plan de construction (comme le plan d'une maison). L'objet c'est la maison construite à partir de ce plan.


3. Les 4 piliers de la POO 🏛️

PilierC'est quoi ?Analogie
Encapsulation 🔒Protéger les données, on y accède via des méthodesUne boîte noire : on utilise, on ne voit pas l'intérieur
Abstraction 🎮Cacher les détails compliquésUn volant de voiture : simple à utiliser, compliqué à l'intérieur
Héritage 🧬Réutiliser du code existantUn enfant qui hérite des traits de ses parents
Polymorphisme 📱Même nom, comportements différentsDes télécommandes universelles : le bouton "Power" allume n'importe quel appareil

Exercice pour toi 🎯

Identifie dans la vie réelle des exemples pour chaque pilier de la POO. Par exemple :

  • Encapsulation : un distributeur de billets (on voit pas le mécanisme interne)
  • Abstraction : une télécommande (on appuie sur un bouton sans savoir comment ça marche)
  • Héritage : les animaux (un chien hérite des caractéristiques des mammifères)
  • Polymorphisme : différents véhicules qui "roulent" (vélo, voiture, trottinette)

💡 La POO devient indispensable dès que tes projets dépassent quelques centaines de lignes. C'est comme ranger sa chambre : plus tôt tu t'y mets, mieux c'est !

⚡ Simulateur — Introduction à l'OOP

Étape 1/7
📝 Pseudo-code
1CLASSE Livre # ← plan de construction
2 titre : texte
3 auteur : texte
4 année : entier
5
6 CONSTRUCTEUR(titre, auteur, année) # ← initialise l'objet
7 self.titre ← titre
8 self.auteur ← auteur
9 self.année ← année
10 FIN CONSTRUCTEUR
11
12 FONCTION décrire() # ← comportement
13 RETOURNER self.titre + ' — ' + self.auteur
14 FIN FONCTION
15FIN CLASSE
16
17livre ← Livre('1984', 'Orwell', 1949) # ⬅ objet créé !
18afficher(livre.décrire()) # ⬅ appel méthode
🏗️ Objets en mémoire
Aucun objet créé (phase de définition de la classe)
💡 Concepts clés
  • Classe = plan de construction (le moule)
  • Objet = réalisation du plan (le gâteau)
  • Attributs = données de l'objet
  • Méthodes = comportements de l'objet

Une classe est un plan de construction. Elle définit la structure et le comportement.