Lernzettel: Introduction à la Programmation Orientée Objet

📋 Plan du Cours

  1. Paradigme procédural et programmation orientée objet
  2. Objets, attributs, méthodes et classes
  3. Instanciation et réservation mémoire
  4. Exemple Python : classe voiture et instances
  5. Constructeur et rôle de l’argument self
  6. Types de méthodes en POO
  7. Accesseurs et mutateurs en Python
  8. Diagramme de classe : attributs et méthodes

📖 1. Paradigme procédural et programmation orientée objet

🔑 Notions clés & Définitions

  • Paradigme de programmation procédurale : Paradigme où un programme découpe un problème en sous-problèmes via des fonctions.
  • Programmation orientée objet : Paradigme fondé sur la définition et l’interaction d’objets représentant des entités du réel.
  • Objet : Entité logicielle représentant un concept réel, décrite par des attributs et manipulée via des méthodes.
  • Classe : Regroupement d’objets partageant les mêmes attributs et les mêmes méthodes.

📝 Points essentiels

  • En procédural, on organise le code surtout autour de fonctions pour simplifier un problème.
  • En POO, on organise le programme autour d’objets qui interagissent entre eux.
  • Un objet est décrit par des attributs (caractéristiques) et agit via des méthodes (interface).
  • Les objets d’une même classe partagent la même structure de méthodes et d’attributs, avec des valeurs différentes.
  • La classe sert de modèle : chaque objet créé est une instance de cette classe.

💡 Astuce mémo

Procédural = fonctions qui découpent ; POO = objets qui interagissent.

📖 2. Objets, attributs, méthodes et classes

🔑 Notions clés & Définitions

  • Attribut : Caractéristique d’un objet, stockée sous forme de valeur (exemples : race, âge, couleur, année).
  • Méthode : Fonction associée à un objet, utilisée pour agir sur l’objet via son interface.
  • Instance : Objet concret créé à partir d’une classe, avec des valeurs propres à ses attributs.
  • Propriétés partagées : Ensemble des attributs et méthodes communs à tous les objets d’une même classe.

📝 Points essentiels

  • Les attributs décrivent l’état d’un objet (exemples donnés : race, âge, taille, masse, propriétaire).
  • Les méthodes représentent des actions possibles sur l’objet (exemples : vacciner, tatouer, tondre).
  • Des instances d’une classe peuvent représenter des entités différentes tout en gardant la même structure (exemples : Scooby-Doo, Milou, Rantanplan).
  • Pour la classe État, les attributs possibles incluent nom, superficie, population, capitale, chef d’état, continent.
  • Les méthodes d’une classe État incluent par exemple modifier le chef d’état et calculer la densité de population.

💡 Astuce mémo

Attribut = données ; Méthode = action ; Classe = moule ; Instance = exemplaire.

📖 3. Instanciation et réservation mémoire

🔑 Notions clés & Définitions

  • Instanciation : Création d’un objet à partir d’une classe, qui nécessite de fournir les valeurs des attributs.
  • Réservation mémoire : Étape de création où l’espace mémoire est alloué avant d’y stocker les données de l’objet.
  • Espace mémoire : Zone allouée en mémoire pour stocker les attributs d’une instance.

📝 Points essentiels

  • L’instanciation correspond à la création d’un objet d’une classe.
  • L’instanciation nécessite de donner les valeurs de tous les attributs.
  • Concrètement, l’instanciation réserve d’abord un espace mémoire.
  • Ensuite, cet espace est rempli par le contenu correspondant aux attributs.
  • La création d’objet est donc vue comme allocation puis initialisation des données.

💡 Astuce mémo

Instanciation = réserver puis remplir (mémoire → valeurs d’attributs).

📖 4. Exemple Python : classe voiture et instances

🔑 Notions clés & Définitions

  • Classe voiture : Classe Python modélisant des voitures avec des attributs comme marque, modèle, couleur et année.
  • Instance de voiture : Objet créé à partir de la classe voiture, représentant une voiture précise avec ses valeurs propres.
  • Attributs marque modèle couleur année : Ensemble des caractéristiques utilisées pour décrire chaque voiture dans l’exemple.
  • Constructeur de classe : Méthode utilisée pour construire et initialiser les attributs lors de la création d’une instance.

📝 Points essentiels

  • L’exemple décrit trois voitures avec marque, modèle, couleur et année.
  • Les voitures sont présentées comme voiture 1, voiture 2 et voiture 3 avec des valeurs distinctes.
  • L’exemple montre aussi deux façons de représenter une voiture sans POO : liste et dictionnaire.
  • Avec une classe, on définit une structure commune puis on crée des instances pour chaque voiture.
  • Pour créer les voitures, on utilise un constructeur puis on instancie trois objets.

💡 Astuce mémo

Voiture = (marque, modèle, couleur, année) ; instances = 3 exemplaires.

📖 5. Constructeur et rôle de l’argument self

🔑 Notions clés & Définitions

  • Constructeur : Méthode de classe qui construit un objet et initialise l’ensemble de ses attributs pour l’instanciation.
  • init : Nom de la méthode constructeur en Python, utilisée pour initialiser les attributs lors de la création.
  • self : Paramètre par défaut des méthodes Python qui désigne l’instance sur laquelle la méthode agit.
  • Initialisation des attributs : Action du constructeur qui fixe les valeurs des attributs de l’objet nouvellement créé.

📝 Points essentiels

  • Le constructeur permet de construire un objet et d’initialiser ses attributs.
  • En Python, le constructeur est défini via une méthode nommée init.
  • La signature du constructeur inclut self en premier paramètre.
  • self renvoie à l’instance sur laquelle on est en train de travailler.
  • Lors de l’instanciation, le constructeur installe les valeurs des attributs à partir des arguments.

💡 Astuce mémo

init = “je prépare l’objet” ; self = “l’objet courant”.

📖 6. Types de méthodes en POO

🔑 Notions clés & Définitions

  • Méthode constructeur : Méthode qui construit l’objet et initialise ses attributs pour permettre l’instanciation.
  • Accesseur : Méthode qui lit un attribut et retourne sa valeur depuis un objet.
  • Mutateur : Méthode qui modifie la valeur d’un attribut d’un objet.
  • Interface d’objet : Ensemble des méthodes disponibles pour accéder ou agir sur l’objet.

📝 Points essentiels

  • On distingue trois types principaux de méthodes : constructeur, accesseurs et mutateurs.
  • Le constructeur définit et initialise l’ensemble des attributs de l’objet.
  • Un accesseur sert à accéder à un attribut et renvoie sa valeur.
  • Un mutateur sert à modifier la valeur d’un attribut.
  • Les méthodes sont définies dans le corps de la classe comme des fonctions avec def.

💡 Astuce mémo

Construire → Accéder → Modifier : constructeur, get, set.

📖 7. Accesseurs et mutateurs en Python

🔑 Notions clés & Définitions

  • Accesseur get : Méthode Python, par convention, dont le nom commence par get et qui retourne la valeur d’un attribut.
  • Mutateur set : Méthode Python, par convention, dont le nom commence par set et qui met à jour la valeur d’un attribut.
  • Convention de nommage get : Règle de nommage indiquée : un accesseur commence par le verbe anglais get.
  • Convention de nommage set : Règle de nommage indiquée : un mutateur commence par le verbe anglais set.

📝 Points essentiels

  • Un accesseur est défini pour retourner la valeur d’un attribut d’une instance.
  • Le code d’un accesseur utilise return self.attribut.
  • Un mutateur reçoit une nouvelle valeur en paramètre et l’affecte à l’attribut.
  • Le code d’un mutateur utilise self.attribut = nouvelle_valeur.
  • Les accesseurs et mutateurs sont des méthodes définies dans la classe et manipulées via l’instance.

💡 Astuce mémo

get = return ; set = affecter (self.attribut = nouvelle_valeur).

📖 8. Diagramme de classe : attributs et méthodes

🔑 Notions clés & Définitions

  • Diagramme de classe : Représentation qui résume les attributs et les méthodes d’un objet dans une structure unique.
  • Attributs d’un diagramme : Liste des noms d’attributs affichés dans la partie attributs du diagramme.
  • Méthodes d’un diagramme : Liste des noms de méthodes affichés dans la partie méthodes du diagramme.
  • Init() : Nom de méthode indiqué dans le diagramme pour représenter l’initialisation/constructeur.

📝 Points essentiels

  • Le diagramme de classe résume les attributs et les méthodes d’un objet.
  • La partie attributs liste les attributs (Attribut1, Attribut2, Attribut3, etc.).
  • La partie méthodes liste les méthodes (Init(), Get_attribut(), Set_attribut(), etc.).
  • Le diagramme sert à visualiser la structure commune d’un objet/une classe.
  • Les noms de méthodes affichés dans le diagramme reprennent les rôles constructeur et accesseurs/mutateurs.

💡 Astuce mémo

Diagramme = 2 blocs : Attributs en haut, Méthodes en bas.

📊 Tableaux de synthèse

Paradigmes : procédural vs orienté objet

AspectProcéduralOrienté objet
OrganisationDécoupage en sous-problèmes via fonctionsDéfinition et interaction d’objets
Unité centraleFonctionsObjets (avec attributs et méthodes)
ModélisationDonnées et traitements séparésEntités du réel modélisées par objets

⚠️ Pièges & confusions fréquents

  1. Confondre une classe (modèle) avec une instance (objet créé avec des valeurs propres).
  2. Oublier que les méthodes agissent sur une instance via self, ce qui casse l’accès aux attributs.
  3. Croire qu’un accesseur modifie l’attribut : il doit retourner la valeur.
  4. Croire qu’un mutateur ne reçoit pas de nouvelle valeur : il doit prendre une valeur à affecter.
  5. Penser que l’instanciation ne fait que “créer une variable” : elle réserve d’abord de la mémoire puis la remplit avec les attributs.

✅ Checklist Examen

  1. Définir le paradigme procédural et expliquer ce qui change en POO (objets et interactions).
  2. Définir objet, attribut, méthode et classe, et relier chaque terme à son rôle.
  3. Expliquer ce qu’est une instance et donner l’idée “même classe = mêmes méthodes/attributs, valeurs différentes”.
  4. Décrire l’instanciation : fournir les valeurs des attributs, réserver un espace mémoire puis le remplir.
  5. Identifier le constructeur en Python et expliquer son rôle dans l’initialisation des attributs.
  6. Expliquer le rôle de self et pourquoi il apparaît en premier paramètre des méthodes.
  7. Classer les méthodes en constructeur, accesseurs et mutateurs, avec la fonction de chacun.
  8. Donner les conventions get et set pour accesseurs et mutateurs et décrire leur comportement (return vs affectation).
  9. Lire/produire un diagramme de classe en listant attributs et méthodes (Init(), Get_attribut(), Set_attribut(), etc.).

Teste dein Wissen

Teste dein Wissen zu Introduction à la Programmation Orientée Objet mit 16 Multiple-Choice-Fragen mit detaillierten Korrekturen.

1. Quel énoncé décrit le mieux le paradigme procédural ?

2. Quelle affirmation correspond à la programmation orientée objet ?

Quiz machen →

Mit Karteikarten lernen

Merke dir die Schlüsselkonzepte von Introduction à la Programmation Orientée Objet mit 16 interaktiven Karteikarten.

Paradigme procédural — définition ?

Organisation du code autour de fonctions.

Programmation orientée objet — rôle ?

Organisation autour d’objets qui interagissent.

Objet — définition ?

Entité représentant un concept avec attributs et méthodes.

Karteikarten ansehen →

Similar courses

Erstelle deine eigenen Lernzettel

Importiere deinen Kurs und die KI erstellt in 30 Sekunden Lernzettel, Quizze und Karteikarten.

Lernzettel-Generator