Hoja de repaso: Introduction à la programmation orientée objet en Python

Fiche de Révision : Programmation Orientée Objet en Python

1. 📌 L'essentiel

  • Tout en Python est objet, y compris les objets définis par l’utilisateur.
  • Une classe est une fabrique d’objets, définie avec class en CamelCase.
  • La création d’un objet s’effectue par instanciation (a = Classe()).
  • Le constructeur __init__(self, ...) initialise les attributs, self référence l’objet courant.
  • Attributs : caractéristiques stockées dans l’objet, accessibles via objet.attribut.
  • Méthodes : actions ou interactions, prennent self en paramètre.
  • Attributs de classe : partagés par toutes les instances, utilisés pour données globales.
  • Méthodes de classe : déclarées avec @classmethod, prennent cls.
  • Héritage : classe fille hérite des attributs/méthodes de la classe mère, utilise super().
  • Redéfinition d’opérateurs : méthodes spéciales (__add__, __mul__, etc.) pour personnaliser comportements.

2. 🧩 Structures & Composants clés

  • Classe — structure définissant attributs et méthodes, nom CamelCase.
  • Objet/Instance — réalisation concrète d’une classe.
  • Constructeur __init__() — initialise attributs à la création.
  • Attributs d’instance — caractéristiques propres à chaque objet.
  • Attributs de classe — partagés, liés à la classe.
  • Méthodes d’instance — modifient ou accèdent à l’état de l’objet.
  • Méthodes de classe — accèdent ou modifient attributs de classe.
  • Héritage — extension d’une classe, réutilisation de code.
  • Super() — appelle le constructeur ou méthodes de la classe mère.
  • Redéfinition opérateurs — personnalise le comportement des opérateurs (+, *, etc.).

3. 🔬 Fonctions, Mécanismes & Relations

  • La classe définit la structure d’un objet, avec attributs et méthodes.
  • Instanciation : a = Classe() crée un nouvel objet, appelant __init__().
  • self dans méthodes : référence à l’objet courant, obligatoire.
  • Attributs : stockent l’état, peuvent être protégés (_attribut) par convention.
  • Attributs de classe : partagés, accessibles via Classe.attribut.
  • Méthodes de classe : utilisent @classmethod, prennent cls.
  • Héritage : classe fille hérite, peut redéfinir ou étendre.
  • super() : appelle le constructeur ou méthodes de la classe mère.
  • Redéfinition opérateurs : permettent d’utiliser des opérateurs classiques avec des objets.

4. Tableau comparatif

ÉlémentCaractéristiques clésNotes / Différences
ClasseDéfinie avec class, nom CamelCaseFabrique d’objets
Instanciationobjet = Classe()Création d’un objet
Constructeur__init__(self, ...)Initialisation attributs
AttributsStockent l’état, accessibles via objet.attribut_attribut pour protection (convention)
Attributs de classePartagés, exemple User.num_of_usersUtilisés pour données globales
Méthodes d’instancePrennent self, modifient ou accèdent à l’état de l’objetis_logged()
Méthodes de classeAvec @classmethod, prennent cls, accès attributs classeget_num_of_users()
Héritageclass Fille(ClasseMère), permet extensionUtilise super()
Redéfinition opérateursMéthodes spéciales (__add__, __mul__, etc.)Personnalise comportement

5. 🗂️ Diagramme Hiérarchique (ASCII)

Classe
 ├─ Attributs
 │   ├─ Attributs d’instance
 │   └─ Attributs de classe
 ├─ Méthodes
 │   ├─ Méthodes d’instance (self)
 │   └─ Méthodes de classe (cls)
 ├─ Instanciation
 │   └─ __init__() + self
 ├─ Héritage
 │   └─ super().__init__()
 └─ Redéfinition opérateurs
     └─ __add__, __mul__, etc.

6. ⚠️ Pièges & Confusions fréquentes

  • Confondre attributs d’instance et de classe.
  • Oublier self dans la déclaration des méthodes.
  • Ne pas utiliser super() lors de l’héritage.
  • Confondre @classmethod et méthodes statiques.
  • Croire que _attribut est privé : c’est une convention, pas une restriction.
  • Modifier dynamiquement des attributs sans précaution.
  • Oublier de redéfinir __init__() dans une classe héritée.
  • Confondre isinstance() et type().

7. ✅ Checklist Examen Final

  • Définir une classe en CamelCase.
  • Créer une instance avec __init__().
  • Accéder et modifier attributs d’instance.
  • Utiliser @classmethod pour méthodes de classe.
  • Gérer l’héritage et utiliser super().
  • Redéfinir un opérateur avec __add__, __mul__, etc.
  • Différencier attributs d’instance et de classe.
  • Vérifier le type d’un objet avec isinstance().
  • Comprendre la différence entre méthodes d’instance, de classe et statiques.
  • Expliquer le rôle de self.
  • Utiliser la convention _attribut pour la protection.
  • Modifier dynamiquement un attribut d’un objet.
  • Savoir instancier et manipuler plusieurs objets.
  • Connaître la portée et la visibilité des attributs.
  • Maîtriser la hiérarchie d’héritage.
  • Être capable d’écrire une classe simple avec attributs et méthodes.

Fin de la fiche. Bonne révision !

Pon a prueba tus conocimientos

Pon a prueba tus conocimientos sobre Introduction à la programmation orientée objet en Python con 9 preguntas de opción múltiple con correcciones detalladas.

1. Qu'est-ce qu'une classe en programmation orientée objet en Python ?

2. Quelle est la syntaxe correcte pour définir une classe en Python selon la fiche de révision?

Realiza el cuestionario →

Repasa con tarjetas de memoria

Memoriza los conceptos clave de Introduction à la programmation orientée objet en Python con 10 tarjetas de memoria interactivas.

Classe — définition ?

Structure définissant attributs et méthodes

Classe — définition?

Structure définissant attributs et méthodes.

__init__() — rôle ?

Initialise un nouvel objet

Ver tarjetas de memoria →

Similar courses

Crea tus propias hojas de repaso

Importa tu curso y la IA genera hojas, cuestionarios y tarjetas de memoria en 30 segundos.

Generador de hojas