Personalizar una subclase
La herencia es poderosa porque nos permite reutilizar y personalizar el código sin reescribir el código existente. Al llamar a métodos de la clase padre dentro de la clase hija, reutilizamos todo el código de esos métodos, haciendo que nuestro código sea conciso y manejable.
En este ejercicio, seguirás trabajando con la clase Manager
que hereda de la clase Employee
. Añadirás un constructor que se basa en el constructor Employee
, tomando un argumento adicional en el que puedes especificar el proyecto en el que está trabajando el gestor.
En script.py
se te ha proporcionado una versión simplificada de la clase Employee
, así como el comienzo de la clase Manager
que creaste anteriormente.
Este ejercicio forma parte del curso
Introducción a la Programación Orientada a Objetos en Python
Instrucciones de ejercicio
- Añade un constructor a
Manager
que aceptename
,salary
(valor por defecto de50000
), yproject
(valor por defecto deNone
). - Dentro del constructor de
Manager
, llama al constructor de la claseEmployee
proporcionando los tres argumentos definidos en el constructor de la clase padre. - Utiliza
self
para asignar el atributo correspondiente al argumentoproject
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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)