1 – Le concept de POO en Python
La programmation orientée objet, ou POO, est un paradigme de programmation qui permet de structurer les programmes de manière à ce que les propriétés et les comportements soient regroupés dans des objets à part.
Par exemple, un objet peut représenter une personne avec un nom, un âge, une adresse, etc., avec des comportements tels que marcher, parler, respirer et courir.
En d’autres termes, la programmation orientée objet est une approche permettant de modéliser des éléments concrets du monde réel tels que les voitures, ainsi que des relations entre des entités telles que les entreprises et les employés, les étudiants et les enseignants, etc. La modélisation POO modélise des entités réelles sous la forme d’objets logiciels certaines données qui leur sont associées et peuvent remplir certaines fonctions.
La programmation orienté objet est un type de programmation basée sur la création des classes et des objets via une méthode appelée instanciation. Une classe est un prototype (modèle) codé en un langage de programmation dont le but de créer des objets dotés d’un ensemble de méthodes et attributs qui caractérisent n’importe quel objet de la classe. Les attributs sont des types de données (variables de classe et variables d’instance) et des méthodes, accessibles via la concaténation par points.En programmation orientée objet, la déclaration d’une classe regroupe des méthodes et propriétés (attributs) communs à un ensemble d’objets. Ainsi on pourrait dire qu’une classe représente une catégorie d’objets. Elle apparaît aussi comme une usine permettant de créer des objets ayant un ensemble d’atributs et méthodes communes.
2 – Les classes en Python
Pour créer une classe en Python, on utilise l’instruction :
class nom_de_la_classe
On crée ensuite une méthode qui permet de construire les objets, appelé constructeur via l’instruction :
def __init__(self):
Exemple. classe Personne
class Personne:
def __init__(self,nom,age):
self.nom = nom
self.age = age
P = Personne("Albert",27)
print("Le nom de la prsonne est : " , P.nom)
print("L'age de la personne est : " , P.age, " ans")
# affiche : Le nom de la prsonne est : Albert
# L'age de la personne est : 27 ans
Exemple: classe rectangle
class Rectangle:
def __init__(self,L,l):
self.Longueur=L
self.Largeur=l
monRectangle=Rectangle(7,5)
print("La longueur de mon rectangle est : ",monRectangle.Longueur)
print("La largeur de mon rectangle est : ",monRectangle.Largeur)
Ce qui affiche à l’exécution :
La longueur de mon rectangle est : 7
La largeur de mon rectangle est : 5
On peut aussi améliorer la classe en ajoutant des méthodes permettant d’effectuer différentes tâches.
3 – Les méthodes d’instance en Python
Une méthode d’instance est une fonction ou procédure nommée au sein de la classe, permettant de définir des propriétés ou comportements des objets d’instances.
Exemple. ajout de méthode qui calcule la surface du rectangle
class Rectangle:
def __init__(self,L,l):
self.Longueur=L
self.Largeur=l
# méthode qui calcule la surface
def surface(self):
return self.Longueur*self.Largeur
# création d'un rectangle de longueur 7 et de largeur 5
monRectangle = Rectangle(7,5)
print("La surface de mon rectangle est : ", monRectangle.surface())
Ce qui affiche après exécution :
La surface de mon rectangle est : 35
4 – Les méthodes statiques
Une méthode statique est une méthode de classe ayant la propriété d’être exécutée sans passer par l’instanciation. Une méthode statique est déclarée en ajoutant l’annotation : @staticmethod
Exemple. méthode statique
# -*- coding: utf-8 -*-
class myClass:
def __init__(self):
pass
# création d'une méthode statique
@staticmethod
def myStaticMethod():
print("Voici un exmple de méthode statique en Python")
myClass.myStaticMethod()