Añadir un constructor alternativo
Los métodos de clase son una forma estupenda de permitir una forma alternativa de crear un objeto a partir de una clase, como por ejemplo mediante un archivo o aceptando información diferente y realizando una tarea durante la construcción para devolver los atributos necesarios.
En este ejercicio, trabajarás con la clase Person
. El constructor espera un nombre y una edad durante la inicialización. Añadirás un método de clase que permita la inicialización proporcionando el nombre y el año de nacimiento, donde el método calculará entonces la edad a partir del año de nacimiento.
Este ejercicio forma parte del curso
Introducción a la Programación Orientada a Objetos en Python
Instrucciones de ejercicio
- Añade un decorador de métodos de clase.
- Define el método de la clase
from_birth_year()
, que acepta tres argumentos: la palabra convencional utilizada como argumento especial referido a la clase,name
, ybirth_year
. - Dentro del método, crea la variable
age
calculando la diferencia entre el atributo de claseCURRENT_YEAR
ybirth_year
. - Devuelve los atributos
name
yage
de la clase.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
class Person:
CURRENT_YEAR = 2024
def __init__(self, name, age):
self.name = name
self.age = age
# Add a class method decorator
____
# Define the from_birth_year method
def ____(____, ____, ____):
# Create age
age = ____.____ - ____
# Return the name and age
return ____(____, ____)
bob = Person.from_birth_year("Bob", 1990)