La herencia y el polimorfismo son dos conceptos fundamentales en la programación orientada a objetos (POO) y se utilizan ampliamente en muchos lenguajes de programación, incluido Python. Exploremos estos conceptos en detalle.

7.4.1 Herencia

La herencia es una característica de la programación orientada a objetos que permite que una clase herede atributos y métodos de otra clase. La clase de la que se heredan los atributos y métodos se denomina clase base o clase principal, y la clase que hereda estos atributos y métodos se denomina clase secundaria o clase derivada.

En Python, la herencia se logra definiendo una nueva clase, seguida de los nombres de las clases principales entre paréntesis.

clase PadreClase:
    aprobar

clase ChildClass (ParentClass):
    aprobar

Aquí, ChildClass es una subclase de ParentClass y hereda todos sus atributos y métodos.

Python también admite herencia múltiple, donde una clase puede heredar de varias clases principales. Esto se logra enumerando todas las clases principales entre paréntesis, separadas por comas.

clase PadreClase1:
    aprobar

clase PadreClase2:
    aprobar

clase ChildClass (ParentClass1, ParentClass2):
    aprobar

Aquí, ChildClass es una subclase de ParentClass1 y ParentClass2 y hereda todos sus atributos y métodos.

7.4.2 Polimorfismo

El polimorfismo es otra característica fundamental de la programación orientada a objetos. Permite que un objeto adopte muchas formas. Más específicamente, el polimorfismo permite que una clase secundaria comparta el mismo nombre de método que su clase principal y proporcione una implementación diferente de ese método.

Por ejemplo, considere dos clases, ParentClass y ChildClass. Ambas clases tienen un método llamado example_method. Sin embargo, la implementación de este método en cada clase es diferente.

clase PadreClase:
    def método_ejemplo(yo):
        print("Método ParentClass")

clase ChildClass (ParentClass):
    def método_ejemplo(yo):
        print("Método ChildClass")

Aquí, ChildClass es una subclase de ParentClass y ambas clases tienen un método llamado example_method. Sin embargo, la implementación de este método en cada clase es diferente. Este es un ejemplo de polimorfismo.

Python permite el polimorfismo de dos maneras: sobrecarga de métodos y sustitución de métodos. La sobrecarga de métodos permite que una clase tenga múltiples métodos con el mismo nombre pero con diferentes firmas de método. La anulación de método permite que una clase secundaria proporcione una implementación diferente de un método que ya proporciona su clase principal.

En resumen, la herencia y el polimorfismo son características fundamentales de la programación orientada a objetos que permiten la reutilización del código y la flexibilidad a la hora de implementar diferentes comportamientos de los objetos. Se utilizan ampliamente en muchos lenguajes de programación, incluido Python, y son clave para crear sistemas eficientes y reutilizables.

Ahora responde el ejercicio sobre el contenido:

¿Cuáles son los dos conceptos fundamentales de la programación orientada a objetos (POO) y cómo se utilizan en Python?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Clases y objetos en Python: métodos especiales

Siguiente página del libro electrónico gratuito:

41Clases y objetos en Python: métodos especiales

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.