Académique Documents
Professionnel Documents
Culture Documents
Présentation POO V1
Présentation POO V1
*********
ÉCOLE NATIONALE D’ÉCONOMIE APPLIQUÉE ET DE MANAGEMENT (ENEAM)
*********
CYCLE DES INGENIEURS STATISTICIENS ECONOMISTES (ISE)
Matière : Algorithmique et
Niveau : ISE 1
programmation avec Python
La POO a émergé dans les années 1960 avec le langage Simula, mais c'est avec le
développement de Smalltalk dans les années 1970 que les concepts fondamentaux ont
Historique de la POO et été solidifiés. Des langages tels que C++, Objective-C, et Java ont ensuite élargi
son évolution l'influence de la POO. Aujourd'hui, la POO est une approche modulaire largement
utilisée dans le développement logiciel.
Principes fondamentaux de la POO
Objet: Un objet est une instance d'une classe, contenant des Utilisation de méthodes pour accéder aux données
attributs et des méthodes. L'instanciation, processus de encapsulées: Les accesseurs (getters) et mutateurs
création d'un objet à partir d'une classe, permet de créer des (setters) sont utilisés pour lire et modifier les données
instances, comme une voiture spécifique avec une marque encapsulées, garantissant un accès contrôlé et évitant
particulière. la corruption des données.
Principes fondamentaux de la POO (Suite)
Héritage Polymorphisme
Avantages de l'héritage dans la POO: L'héritage permet de Exemples de polymorphisme en Python: La surcharge
construire des classes dérivées, étendant les fonctionnalités (overloading) permet de choisir entre différentes
d'une classe de base. Cela favorise la réutilisation du code et la implémentations d'une fonction selon le nombre et le
création de hiérarchies logiques. type des arguments fournis. La redéfinition
(overriding), liée à l'héritage, permet de modifier le
comportement des méthodes pour les adapter aux
besoins d'une classe dérivée.
Implémentation en Python
Définition d'une classe et manipulation d’objets Encapsulation en python
class Personne:
class Personne: def __init__(self, nom, age):
def __init__(self, nom, age): self.__nom = nom
self.nom = nom self.__age = age
self.age = age
def afficher_infos(self):
def afficher_infos(self): print(f"Nom : {self.__nom}, Âge : {self.__age} ans")
print(f"Nom : {self.nom}, Âge : {self.age} ans")
# Getter pour le nom
def __str__(self): def get_nom(self):
return f"{self.nom}, {self.age} ans" return self.__nom
Création de modules
indépendants et
autonomes
Favorise la
collaboration et la Réutilisabilité du Code
gestion d’équipe
Héritage(centralisation
Facilitation de la des modifications à la
Maintenance classe parent)
MERCI POUR VOTRE
ATTENTION