Académique Documents
Professionnel Documents
Culture Documents
Plan
Présentation de la poo
Présentation des Classes et objets
Présentation des Attributs et Constructeurs
Présentation de l’Encapsulation et Accesseurs /
Mutateurs
Présentation des Attributs et méthodes de classe
Présentation de l’Héritage et polymorphisme
Préparé par Mme Oussimour
3
Objet 3
Objet 2
Préparé par Mme Oussimour
9
Espace mémoire
Tous les objets sont dynamiques c’est-à-dire ils dispose d'un ensemble
d'opérations (les méthodes) qui permettent d'agir sur le comportement de
notre objet.
Notre classe Voiture est une sorte d'usine à créer des voitures.
La méthode __init__() est appelée lors de la création d'un objet.
Un objet est une instance d'une classe . On peut créer autant d'objets que
l'on désire avec une classe .
Créons maintenant notre voiture:
>>> ma_voiture = Voiture()
Préparé par Mme Oussimour
21
Les attributs
les attributs représentent les « variables » traduisant l’état de l’objet (comme
avec les champs des structures).
Ces variables peuvent être de toutes natures : des entiers, des chaînes de
caractères, des listes, d’autres objets, etc. . . Par convention, leur nom
commencent toujours par une minuscule.
Les constructeurs
Un constructeur est une fonction appelée au moment de la création d’un
objet a partir d’une classe. Il permet d’initialiser correctement cet objet,
éventuellement À partir de paramètres.
En python le constructeur n’est rien d’autre qu’une méthode, sans valeur de
retour, qui porte un nom imposé par le langage Python : __init__()
def __init__(self, x, y):
self.set_x(x)
self.set_y(y)
Les méthodes
Les méthodes sont des « sous-porgrammes » propres à agir sur les objets
d’une classe. Elles sont assimilables à des fonctions sauf qu’elles sont
généralement appelés par des objets et agissent potentiellement sur eux.
Un bon exemple est la méthode de la classe string (chaînes de caractères)
lower() qui permet de passer toutes les lettres d’une chaîne en minuscules de la
façon suivante :
x = txt.lower()
Accesseurs et mutateurs
Un accesseur est une méthode qui va nous permettre
d'accéder aux variables de nos objets en lecture,
un mutateur nous permettra d'en faire de même en
écriture
Grâce aux accesseurs, vous pourrez afficher les
variables de vos objets, et grâce aux mutateurs, vous
pourrez les modifier
On rencontre souvent l’utilisation de noms de la
forme get_XXXX() pour les accesseurs
et set_XXXX() pour les mutateurs Préparé par Mme Oussimour
31
Accesseurs et mutateurs
Accesseurs et mutateurs
Utiliser les décorateurs
Python
Attributs de classe
Attributs de classe
Héritage
L'héritage (en anglais inheritance) est un principe propre à la
programmation orientée objet, permettant de créer une nouvelle
classe à partir d'une classe existante.
Observons les 3 classes suivantes que ce que vous remarquer!!
Stagiaire Formateur
Personne
CIN CIN
CIN NOM
NOM NOM
PRENOM PRENOM
PRENOM DATE DE NAISSANCE
DATE DE NAISSANCE DATE DE NAISSANCE
ADRESSE ADRESSE
ADRESSE TEL
TEL TEL
NUM_INSCRIPTION Matricule
FILIERE Spécialisation
NOTE1 Date_Embauche
NOTE2
NOTE3
Préparé par Mme Oussimour
42
Héritage
Le nom d'"héritage" (pouvant parfois être appelé dérivation de classe)
provient du fait que la classe dérivée (la classe nouvellement créée)
contient les attributs et les méthodes de sa superclasse (la classe
dont elle dérive).
L'intérêt majeur de l'héritage est de pouvoir définir de nouveaux attributs
et de nouvelles méthodes pour la classe dérivée, qui viennent s'ajouter à
ceux et celles héritées.
Cela a comme avantage majeur de ne pas avoir à repartir de zéro lorsque
l'on veut spécialiser une classe existante
On dit que la classe B hérite de la classe A si B est un A (Stagiaire est
une Personne)
Préparé par Mme Oussimour
43
Héritage
L’héritage permet de construire une classe B à partir d’une classe
existante A. Il s’agit d’une sorte d’héritage biologique.
La classe B va ainsi hériter des variables, des méthodes, bref de tous
les membres de A puis, on va ajouter des éléments supplémentaires
propres à la classe B.
Si B hérite de A, on dit que B est une classe fille, une sous-classe,
une classe enfant ou encore une classe dérivée de A.
A l’inverse, A se nomme la classe mère, la classe de base,
la classe parent ou encore la super classe de B.
Toute instance (objet) de B peut être considéré comme un objet de A.
Une instance de A ne peut être toujours considéré comme un objet de B
Préparé par Mme Oussimour
44
Exemples Héritage
Exemples Héritage
Héritage en Python
Exemple PRATIQUE
-création de la classe Mère Personne
-création des classes Filles Stagiaire et Formateur
Utiliser l’héritage dans le constructeur
Polymorphisme
Polymorphisme d’héritage en
Python
Exemple pour Pratiquer la redéfinition des méthodes en Python
1. Redéfinir la méthode Afficher de la classe Mère Personne dans les classes filles
Stagiaire et Formateur
2. Création des classes Animal ,Chat, Dauphin,Aigle
3. Redéfinir la méthode Se_Déplacer de la classe Mère Animal dans les classes filles