Cours Poo Python Complet
Cours Poo Python Complet
🔷 2. Concepts Fondamentaux
2.1 Classe et Objet
Une classe est un modèle d’objet. Un objet est une instance de cette
classe.
Exemple :
class Voiture:
pass
def afficher_solde(self):
return [Link]
2.3 Le constructeur : __init__
class User:
def __init__(self, nom):
[Link] = nom
u = User("Alice")
print([Link])
class Test:
def __init__(self):
[Link] = 1
self._protegee = 2
self.__privee = 3
@property
def prix(self):
return self._prix
@[Link]
def prix(self, value):
if value >= 0:
self._prix = value
2.6 Héritage
class Animal:
def parler(self):
return "Je suis un animal"
class Chien(Animal):
def parler(self):
return "Wouf !"
2.7 Polymorphisme
def presenter(animal: Animal):
print([Link]())
🔷 3. Concepts Avancés
3.1 Classes abstraites avec abc
from abc import ABC, abstractmethod
class Forme(ABC):
@abstractmethod
def aire(self): pass
class Cercle(Forme):
def __init__(self, r):
self.r = r
def aire(self):
import math
return [Link] * self.r ** 2
def __str__(self):
return f"Livre: {[Link]}"
def __len__(self):
return [Link]
@dataclass
class Produit:
id: int
nom: str
prix: float
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
Factory
class UserFactory:
@staticmethod
def create(nom):
return User(nom)
Strategy
class TriStrategy:
def trier(self, data): pass
class TriAsc(TriStrategy):
def trier(self, data): return sorted(data)
class ContexteTri:
def __init__(self, strategie):
[Link] = strategie
📁 Structure du projet
boutique/
[Link]
[Link]
[Link]
[Link]
4.1 [Link]
class Produit:
def __init__(self, id, nom, prix):
[Link] = id
[Link] = nom
[Link] = prix
def __str__(self):
return f"{[Link]} ({[Link]}€)"
4.2 [Link]
class Panier:
def __init__(self):
[Link] = {}
def total(self):
return sum([Link] for p in [Link]())
4.3 [Link]
class Commande:
def __init__(self, panier):
[Link] = panier
def valider(self):
print(f"Commande validée. Total : {[Link]()}€")
4.4 [Link]
from produit import Produit
from panier import Panier
from commande import Commande
panier = Panier()
[Link](p1)
[Link](p2)
commande = Commande(panier)
[Link]()
🔷 5. Conclusion
Vous disposez maintenant : - d’un cours détaillé - d’exemples pratiques -
d’un mini-projet Python orienté objet complet
Souhaites-tu : - un diagramme UML du mini-projet ? - une version PDF ? - une
version encore plus avancée (design patterns complets, architecture MVC,
API) ?