Quick actions

cmd+k|ctrl+k

Navigation

Languages

4_13_Herencia_desafio_1

Snippet info

Language

Python

Visibility

public

Author

jorgetoto2006new

Created

2024-11-09T16:45:44.584075Z

Updated

2024-11-09T16:45:44.584075Z

# Definición de la clase base Autor
# La clase Autor representa a un autor genérico con su nombre.
class Autor:
    def __init__(self, nombre):
        """
        Constructor de la clase Autor.
        Inicializa el atributo 'nombre' con el nombre del autor.
        """
        self.nombre = nombre  # Atributo para almacenar el nombre del autor

# Definición de la clase Poeta que hereda de Autor
# La clase Poeta es una subclase de Autor y representa a un autor especializado en poesía.
# Añade un atributo específico para indicar el tipo de poesía que escribe.
class Poeta(Autor):
    def __init__(self, nombre, tipo_poesia):
        """
        Constructor de la clase Poeta.
        - Llama al constructor de la clase base (Autor) para inicializar el nombre.
        - Inicializa un nuevo atributo 'tipo_poesia' que describe el estilo o tipo de poesía que escribe el poeta.
        """
        super().__init__(nombre)  # Llama al constructor de Autor para asignar el nombre
        self.tipo_poesia = tipo_poesia  # Atributo para almacenar el tipo de poesía del poeta

    def mostrar_informacion(self):
        """
        Método para mostrar la información del poeta.
        Muestra el nombre (heredado de Autor) y el tipo de poesía del poeta.
        """
        print(f"Nombre: {self.nombre}, Tipo de Poesía: {self.tipo_poesia}")

# Ejemplo de uso de la clase Poeta

# Creamos una instancia de Poeta.
# Al crear un objeto de Poeta, proporcionamos dos datos:
# - el nombre del poeta, que se pasa al constructor de la clase base (Autor),
# - el tipo de poesía que escribe, que es específico de la clase Poeta.
poeta = Poeta("Pablo Neruda", "Lírica")

# Mostramos la información del poeta usando el método mostrar_informacion.
# Este método imprime el nombre y el tipo de poesía, utilizando los atributos de la instancia.
poeta.mostrar_informacion()  # Salida esperada: Nombre: Pablo Neruda, Tipo de Poesía: Lírica
INFO