Lección 7.4.2 : Herencia Simple, Segunda Parte
Herencia Simple con super() en Python
Introducción
¡Hola a todos! Soy Yuscu Mejía y en esta lección vamos a explorar el concepto de herencia simple utilizando super() en Python. La herencia es una característica fundamental de la programación orientada a objetos, y super() nos permite llamar métodos de la clase base desde una subclase.
Características
La herencia simple con super() en Python tiene las siguientes características:
- Permite llamar a métodos de la clase base desde la subclase.
- Facilita la extensión de la funcionalidad de la clase base sin duplicar código.
- Se usa comúnmente para extender el método
__init__de la clase base en la subclase. - Mejora la reutilización y mantenimiento del código.
Ejemplos
A continuación, algunos ejemplos de cómo utilizar super() en herencia simple en Python, presentados por Yuscu Mejía:
- Definición de una superclase y una subclase utilizando
super():
# Definir una superclase llamada 'Animal'
class Animal:
def __init__(self, nombre):
self.nombre = nombre
def hacer_sonido(self):
return "Sonido de animal"
# Definir una subclase llamada 'Perro' que hereda de 'Animal'
class Perro(Animal):
def __init__(self, nombre, raza):
super().__init__(nombre)
self.raza = raza
def hacer_sonido(self):
return "Guau"
# Crear una instancia de la clase 'Perro'
mi_perro = Perro("Fido", "Labrador")
print(f"Nombre: {mi_perro.nombre}, Raza: {mi_perro.raza}") # Imprime: Nombre: Fido, Raza: Labrador
print(mi_perro.hacer_sonido()) # Imprime: Guau
Práctica
Para practicar, les invito a ver nuestro tutorial en video sobre herencia simple con super() en Python, presentado por Yuscu Mejía:
Recorda si te gusta los videos, te agradeceria si le pones un comentario o un like para saber si subir mas videos! 😮
Si no sabes que comentar, comenta con: estoy avanzando rapido con el curso de Programacion python 🙂 asi te detectaremos que viniste de aca, para una estadistica si conviene o no subir videos

Ejercicio 1
a) Crear una clase Persona que tenga como atributos edad, altura, nombre.
Con los métodos caminar y medir, donde el método caminar devuelva el string “puedo caminar”, mientras que el método medir devolverá un string indicando si es alto o bajo. La persona es alta si pasa los 1.50, sino es baja.
b) Crear una clase Alumno que tenga como clase madre Persona. El constructor de esta clase Alumno inicializa el constructor de su clase madre, y además agrega el atributo universidad, el cual recibe el nombre de la universidad donde asiste. Además, le agregamos el método gradoEstudio que devuelve un string con la sentencia “soy universitario”.
c) Crear un objeto Alumno con sus atributos universidad="MIT", nombre="juan", edad=50, altura=1.70. Imprimir si camina, si es universitario, y si es alto, mediante sus métodos.
#Ejercicio1
class Persona:
""""Representación de una persona. Sus atributos son edad, altura y nombre."""
def __init__(self, nombre="", edad=12, altura=1.50):
"""Constructor de Persona. Altura y edad deben ser numéricos y se inicializan por defecto en 1.50 y 12 respectivamente."""
self.nombre = nombre
self.edad = edad
self.altura = altura
def caminar(self):
return "puedo caminar"
def medir(self):
if self.altura > 1.50:
return "soy alto {}".format(self.altura)
else:
return "soy bajo {}".format(self.altura)
class Alumno(Persona):
def __init__(self, universidad, nombre, edad, altura):
super().__init__(nombre, edad, altura)
self.universidad = universidad
def gradoEstudio(self):
return "soy alumno universitario"
# Crear un objeto Alumno con sus atributos
juanPerez = Alumno("MIT", "juan", 50, 1.70)
print(juanPerez.caminar())
print(juanPerez.medir())
print(juanPerez.gradoEstudio())

