Dans ce premier module, on découvre pourquoi la programmation orientée objet (POO) existe et les concepts fondamentaux qui la composent. L’objectif est de comprendre le problème que la POO résout avant d’introduire ses outils.
La programmation orientée objet (POO) est une manière de programmer qui consiste à modéliser un programme sous forme d’objets, où chaque objet regroupe des données (attributs) et des comportements (méthodes) liés à une même entité.
👉 Version encore plus directe :
La POO consiste à organiser le code en objets qui représentent des choses du monde réel et qui savent agir sur leurs propres données.
Un programme procédural fonctionne souvent “à plat” :
string nom = "Aragorn";
int pointsDeVie = 100;
int attaque = 15;
int defense = 10;
bool estVivant = true;
Tout est :
string nom2 = "Legolas";
int pointsDeVie2 = 80;
int attaque2 = 18;
int defense2 = 8;
➡️ Problèmes :
La POO permet de :
👉 On passe de :
“plein de variables isolées”
à :
“un objet cohérent qui représente quelque chose”
Une classe est un plan, un modèle, une recette.
Elle décrit :
class Personnage
{
public string nom;
public int pointsDeVie;
public int attaque;
public int defense;
public bool estVivant;
}
👉 Cette classe ne crée rien encore 👉 Elle définit juste la structure
Une classe = → une description → un type personnalisé
Un objet est une instance réelle d’une classe.
Personnage p1 = new Personnage();
👉 Ici :
Personnage = le modèlep1 = un objet réelp1.nom = "Aragorn";
p1.pointsDeVie = 100;
p1.attaque = 15;
p1.defense = 10;
p1.estVivant = true;
👉 En pratique :
✔️ Une instance = un objet créé à partir d’une classe
| Concept | Image mentale |
|---|---|
| Classe | Plan de maison |
| Objet | Maison construite |
| Instance | Une maison réelle basée sur le plan |
Personnage p1 = new Personnage();
Personnage p2 = new Personnage();
👉 Même structure 👉 Données différentes
p1.nom = "Aragorn";
p2.nom = "Legolas";
string nom1 = "Aragorn";
string nom2 = "Legolas";
Personnage p1 = new Personnage();
Personnage p2 = new Personnage();
👉 En POO :
Dans ton projet :
👉 chacun devient une classe
Exemple :
class CapteurTemperature
{
public float temperature;
}
👉 Chaque capteur devient un objet