====== Paradigmes de programmation - POO ====== ===class NomClasse: def methode(self, param): ... self.attribut objet = NomClasse()=== La programmation orientée objet (POO) permet de regrouper des données (les attributs) et des fonctions (les méthodes) au sein d'une même structure appelée classe. Un objet est une "instance" de cette classe, c'est-à-dire un élément concret créé à partir du modèle défini par la classe. ===class NomClasse:=== Le mot-clé class permet de créer une nouvelle classe. Par convention, le nom d'une classe commence par une majuscule. class Personne: pass #classe vide pour l'instant ===def __init__(self, param): ... self.attribut (le constructeur et les attributs)=== La méthode __init__() est le constructeur de la classe : elle est appelée automatiquement à chaque création d'un objet, et permet d'initialiser ses attributs. Le mot-clé self représente l'objet en train d'être créé, et self.attribut permet de stocker une valeur propre à cet objet. class Personne: def __init__(self, nom, age): """ Objectif : Initialise un objet Personne avec un nom et un âge. Entrée : nom : str : le nom de la personne age : int : l'âge de la personne Sortie : """ self.nom = nom #attribut nom, propre à l'objet créé self.age = age #attribut age, propre à l'objet créé ===def methode(self, param): (une méthode de la classe)=== Une méthode est une fonction définie à l'intérieur d'une classe. Son premier paramètre est toujours self, qui représente l'objet sur lequel la méthode est appelée, et permet d'accéder à ses attributs. class Personne: def __init__(self, nom, age): """ Objectif : Initialise un objet Personne avec un nom et un âge. Entrée : nom : str : le nom de la personne age : int : l'âge de la personne Sortie : """ self.nom = nom self.age = age def se_presenter(self): """ Objectif : Construit une phrase de présentation de la personne. Entrée : Sortie : phrase : str : la phrase de présentation de la personne """ phrase = "Je m'appelle " + self.nom + " et j'ai " + str(self.age) + " ans." return phrase ===objet = NomClasse() (création d'un objet, aussi appelée instanciation)=== Pour créer un objet à partir d'une classe, on écrit le nom de la classe suivi de parenthèses contenant les paramètres attendus par le constructeur (sans indiquer self, qui est géré automatiquement par Python). objet = Personne("Christophe", 25) #crée un objet Personne, __init__ est appelé automatiquement print(objet.nom) #affiche Christophe (accès à un attribut) print(objet.se_presenter()) #affiche Je m'appelle Christophe et j'ai 25 ans. (appel d'une méthode)