Académique Documents
Professionnel Documents
Culture Documents
OBJETS
❑ Il en est de même avec les objets partageant une même classe. Ils font
partie de la même structure.
Une classe Cake(Gâteau), par exemple, peut avoir une variable flavor
(saveur).
❑ Le comportement d’une classe désigne simplement une série de choses
que cette classe peut faire.
❑ Nous pouvons créer des objets dans notre code, changer leur état et appeler
leurs méthodes;
❑ Les objets sont créés à partir des classes qui constituent des plans ou des
recettes;
❑ C’est parce que la recette en elle-même n’est pas un élément réel existant
dans le monde.
❑ Lorsque nous créons (ou instancions) un gâteau à partir de cette recette, le
gâteau réel a une saveur.
❑ Ce qui signifie que tous les gâteaux créés à partir de cette recette la possèdent
également;
Une méthode fait partie d’une classe, alors qu’une fonction est indépendante
des classes.
❑ La seule différence entre une fonction et une méthode, c’est que les méthodes
font partie d’une classe/d’un objet.
2. LES OBJETS
❑ Si la classe sert de modèle, de recette pour créer nos objets, les objets sont des
créations qui prennent vie dans votre code.
❑ Les objets peuvent être stockés dans une variable, et le type de cette variable
référence la classe
❑ L’on peut modifier l’état d’un objet, ou appeler des méthodes dessus.
Exemple: Dans le cas suivant, « Client » constitue la classe. Un Client peut avoir
un nom, un numéro de téléphone et un compte en banque – soit un état – et
vous voudrez peut-être pouvoir facturer ou rembourser ce client – soit
un comportement.
Client
État (Variables)
• Name
• phone_number
• bank_account
Comportement (Méthodes)
• bill_customer(cost)
• refund_customer(amount)
Exercice 1:
3. Enfin, je possède aussi des tournevis. Ils ont une taille (mesurée en
millimètres) et peuvent être utilisés pour serrer ou desserrer une vis.
3.ECRITURE DES CLASSES EN
PYTHON
❑ Pour créer une classe, on utilise le mot-clé class, des déclarations de
fonctions (def), et des déclarations d’affectation de variables (x = 3).
❑ Toutes les variables et méthodes qui composent cette classe (ses « attributs »)
sont définies en dessous dans sa portée
❑ Quand on déclare une méthode, on utilise le mot-clé def – exactement
comme pour les fonctions.
❑ Ici, nous avons défini des attributs dits « de classe », et ses variables seront
partagées par toutes les autres instances de la classe Rectangle.
❑ Enfin, vous avez les variables – elles permettent de définir des valeurs par
défaut à nos objets.
Déclarez des variables dynamiques avec le constructeur
__init__
❑ Chaque classe en a un, et il est utilisé pour créer des objets à partir de cette
classe.
❑ En Python, ce constructeur est une méthode nommée __init__
❑ Ce sont des attributs d’instance, qui seront propres à chaque objet créé.
Note: Le corps de la méthode peut être vide. Il suffit d’utiliser le mot clé pass
en python;
Exercice 2:
❑ Il est important que les paramètres que vous fournissez correspondent aux
paramètres du constructeur.
❑ Le grand intérêt des objets est que leurs valeurs sont stockées en eux ;
• Dans le cadre des méthodes, ce sont les méthodes classiques d'une classe,
qui possèdent self en premier paramètre.
❑ Les attributs de classe
• Elles peuvent être accédées par la classe, sans passer par l’instanciation.
Les attributs de classe peuvent être très utiles, mais sont censés être plus
rares.
CHAPITRE 2:
NOTION D’HERITAGE
1. Concept d’héritage
❑ L’une des choses les plus utiles de la programmation orientée objet,
c’est le concept d’héritage.
• L'extensibilité
L’héritage permet également l’extensibilité – c’est-à-dire la possibilité
d’étendre la fonctionnalité d’un programme sans avoir à modifier le code
existant.
• Les modèles
L’un des avantages de l’héritage concerne la façon dont nous concevons
les systèmes.
L’héritage, et les classes en général, nous permettent d’exprimer des
relations entre différentes parties de notre code.
•s’inscrire et se connecter ;
•parler de leurs gâteaux préférés, en créant de nouveaux fils de discussion ;
•répondre à des messages, dans les fils existants.
Un fil de discussion sur ce forum a un titre, une date de création et une
collection de posts lui correspondant.
•Un post peut avoir un fichier attaché, ce qui changera la façon dont le
post est affiché. Ce serait donc un nouveau type de post.
Pour l’instant, supposons que nous sortions uniquement le contenu d’un post
vers le terminal. L’implémentation de l’affichage des posts n’est pas obligatoire,
utilisez simplement pass pour ces méthodes.
3. La surcharge des méthodes python
❑ La surcharge désigne le concept selon lequel une classe enfant crée
une nouvelle implémentation d’une méthode héritée.
❑ Lorsqu’une méthode dans une classe enfant est créée avec le même nom et la
même signature qu’une méthode dans le parent, la méthode enfant l’emporte.
❑ L’un des emplacements les plus courants pour cette utilisation se trouve
dans les constructeurs. Pour cela, nous utilisons super()
Dans cet exemple, Coffee ("café") est une sous-classe de Drink ("boisson").
La classe Coffee possède ses propres tarifs, qu’elle passe au constructeur
de Drink pour initialiser le bon prix !