Personaliza una subclase
La herencia es potente porque nos permite reutilizar y personalizar código sin reescribir lo que ya existe. Al llamar a métodos de la clase padre desde la clase hija, reutilizamos todo el código de esos métodos, haciendo que nuestro código sea conciso y fácil de mantener.
En este ejercicio, seguirás trabajando con la clase Manager, que hereda de Employee. Añadirás un constructor que amplía el de Employee, aceptando un argumento adicional para indicar el proyecto en el que trabaja la persona manager.
En Employee tienes una versión simplificada de la clase Manager, así como el inicio de la clase script.py que creaste antes.
Este ejercicio forma parte del curso
Introducción a la programación orientada a objetos en Python
Instrucciones del ejercicio
- Añade un constructor a
Managerque aceptename,salary(valor por defecto50000) yproject(valor por defectoNone). - Dentro del constructor de
Manager, llama al constructor de la claseEmployeeproporcionando los tres argumentos definidos en el constructor de la clase padre. - Usa
selfpara asignar el atributo correspondiente al argumentoproject.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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)