# Clase base Usuario
# La clase Usuario representa a un usuario genérico de la biblioteca.
class Usuario:
def __init__(self, nombre, edad):
"""
Constructor de la clase Usuario.
Inicializa los atributos 'nombre' y 'edad' del usuario.
"""
self.nombre = nombre # Atributo para almacenar el nombre del usuario
self.edad = edad # Atributo para almacenar la edad del usuario
# Clase Bibliotecario que hereda de Usuario
# La clase Bibliotecario representa a un bibliotecario, un tipo específico de usuario
# con atributos adicionales como 'sección' y 'años_experiencia'.
class Bibliotecario(Usuario):
def __init__(self, nombre, edad, seccion, años_experiencia):
"""
Constructor de la clase Bibliotecario.
- Llama al constructor de la clase base (Usuario) para inicializar nombre y edad.
- Inicializa los atributos específicos de Bibliotecario: 'seccion' y 'años_experiencia'.
"""
super().__init__(nombre, edad) # Llama al constructor de Usuario para nombre y edad
self.seccion = seccion # Atributo específico para la sección en la que trabaja
self.años_experiencia = años_experiencia # Atributo específico para los años de experiencia
def mostrar_informacion(self):
"""
Método para mostrar la información del bibliotecario.
Muestra el nombre, la edad, la sección en la que trabaja y sus años de experiencia.
"""
print(f"Nombre: {self.nombre}, Edad: {self.edad}, Sección: {self.seccion}, Años de Experiencia: {self.años_experiencia}")
# Ejemplo de uso de la clase Bibliotecario
# Crear una instancia de Bibliotecario
# Al crear este objeto, proporcionamos el nombre, la edad, la sección y los años de experiencia.
bibliotecario = Bibliotecario("Laura Martínez", 35, "Literatura", 10)
# Mostrar la información del bibliotecario usando el método mostrar_informacion
# Este método imprime el nombre, la edad, la sección y los años de experiencia del bibliotecario.
bibliotecario.mostrar_informacion() # Salida esperada: Nombre: Laura Martínez, Edad: 35, Sección: Literatura, Años de Experiencia: 10