Menu
Coddy logo textTech

Herencia básica

Parte de la sección Object Oriented Programming del Journey de Python de Coddy. Lección 17 de 64.

La herencia permite que una clase herede atributos y métodos de otra clase, creando una relación padre-hijo.

Aquí hay un ejemplo de una clase padre:

class Animal:
    def __init__(self, name):
        self.name = name
    
    def info(self):
        print(f"I am {self.name}, an animal")

Crea una clase hija que herede del padre:

class Dog(Animal):
    pass  # Hereda todo de Animal

La sintaxis class Dog(Animal): significa que Dog hereda de Animal. Coloca el nombre de la clase padre entre paréntesis.

Crea objetos de ambas clases:

generic_animal = Animal("Creature")
buddy = Dog("Buddy")

Utiliza los métodos heredados:

generic_animal.info()
buddy.info()

Salida:

I am Creature, an animal
I am Buddy, an animal

Aunque Dog no define __init__ o info, los obtiene automáticamente de Animal.

Puedes añadir nuevos métodos a la clase hija:

class Dog(Animal):
    def bark(self):
        print(f"{self.name} says Woof!")

buddy = Dog("Buddy")
buddy.info()  # Método heredado
buddy.bark()  # Nuevo método

Salida:

I am Buddy, an animal
Buddy says Woof!

Punto clave: Las clases hijas heredan todos los atributos y métodos de su clase padre. Utiliza la sintaxis class Child(Parent): para crear herencia. Esto te ayuda a reutilizar código y crear jerarquías de clases lógicas.

challenge icon

Desafío

Intermedio
  • vehicle.py: Contiene la clase padre Vehicle
  • car.py: Contiene la clase Car que hereda de Vehicle
  • driver.py: Archivo principal para probar tu implementación

Cada archivo contiene comentarios TODO detallados para guiarte a través de la implementación. Necesitarás:

  • Completar la clase Vehicle con los atributos make y model
  • Implementar la herencia de clases adecuada en la clase Car
  • Configurar las sentencias de importación correctas entre archivos
  • Crear y probar objetos en el archivo driver

Sigue los comentarios TODO cuidadosamente, ya que proporcionan una guía paso a paso para la solución.

Pruébalo tú mismo

# TODO: Importar la clase Vehicle desde vehicle.py
# TODO: Importar la clase Car desde car.py

# TODO: Crear un objeto Vehicle con marca "Toyota" y modelo "Corolla"
vehicle = None

# TODO: Crear un objeto Car con marca "Honda" y modelo "Civic"
car = None

# TODO: Llamar al método display_info() en el objeto vehicle
# Salida esperada: "Vehicle: Toyota Corolla"

# TODO: Llamar al método display_info() en el objeto car
# Salida esperada: "Vehicle: Honda Civic"
# Nota: Car hereda display_info de Vehicle sin modificaciones
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Object Oriented Programming

Practica por tu cuenta: Compilador de Python online