Personnaliser une sous-classe
L'héritage est puissant car il nous permet de réutiliser et de personnaliser le code sans réécrire le code existant. En appelant les méthodes de la classe mère dans la classe enfant, nous réutilisons tout le code de ces méthodes, ce qui rend notre code concis et gérable.
Dans cet exercice, vous continuerez à travailler avec la classe Manager
qui est héritée de la classe Employee
. Vous ajouterez un constructeur qui s'appuie sur le constructeur Employee
, en prenant un argument supplémentaire qui vous permettra de spécifier le projet sur lequel le gestionnaire travaille.
Une version simplifiée de la classe Employee
, ainsi que le début de la classe Manager
que vous avez créée précédemment, vous ont été fournis dans script.py
.
Cet exercice fait partie du cours
Introduction à la programmation orientée objet en Python
Instructions
- Ajoutez un constructeur à
Manager
qui acceptename
,salary
(valeur par défaut de50000
), etproject
(valeur par défaut deNone
). - Dans le constructeur de
Manager
, appelez le constructeur de la classeEmployee
en fournissant les trois arguments définis dans le constructeur de la classe mère. - Utilisez
self
pour attribuer l'attribut correspondant à l'argumentproject
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
class Employee:
def __init__(self, name, salary=30000):
self.name = name
self.salary = salary
def give_raise(self, amount):
self.salary += amount
class Manager(Employee):
# Add a constructor
def __init__(self, name, ____=____, ____=____):
# Call the parent's constructor
____.____(____, ____, salary)
# Assign project attribute
____.____ = ____
def display(self):
print("Manager ", self.name)