6.3. Programación orientada a objetos en Python: herencia y polimorfismo

La programación orientada a objetos (POO) es un paradigma de programación que proporciona una forma de estructurar programas de modo que las propiedades y comportamientos se agrupen en objetos individuales. Python es un lenguaje de programación orientado a objetos y este será el foco de nuestra discusión en este capítulo, centrándonos en la herencia y el polimorfismo.

Herencia en Python

La herencia es un concepto fundamental de programación orientada a objetos que le permite crear una nueva clase que es una versión modificada de una clase existente. La clase original se denomina clase base o clase principal, y la nueva clase se denomina clase derivada o clase secundaria. La clase hija hereda todos los atributos y comportamientos de la clase padre, pero también puede agregar nuevos o modificar los existentes.

En Python, la herencia se declara pasando la clase principal como parámetro a la clase secundaria. Aquí tienes un ejemplo:

claseAnimal:
    def __init__(yo, nombre):
        self.nombre = nombre

clase Perro(Animal):
    def ladrar(yo):
        devolver "¡Guau!"

En el ejemplo anterior, la clase Perro hereda de la clase Animal. Esto significa que un objeto Dog tiene un atributo de nombre y un método bark().

Polimorfismo en Python

El polimorfismo es otro concepto fundamental de programación orientada a objetos que se refiere a la capacidad de un objeto de adoptar muchas formas. En Python, el polimorfismo se implementa de dos maneras: sobrecarga de métodos y anulación de métodos.

La sobrecarga de métodos se refiere a la capacidad de una clase de tener múltiples métodos con el mismo nombre pero con diferentes parámetros. En Python, la sobrecarga de métodos se realiza utilizando argumentos predeterminados o argumentos variables.

Aquí hay un ejemplo de sobrecarga de métodos en Python:

clase Rectángulo:
    área def(yo, largo=1, ancho=1):
        longitud de retorno * ancho

En el ejemplo anterior, el método area() se puede llamar con cero, uno o dos argumentos.

La anulación de métodos se refiere a la capacidad de una clase secundaria de cambiar la implementación de un método que heredó de su clase principal. Esto se hace simplemente declarando un método en la clase secundaria con el mismo nombre que el método en la clase principal.

Aquí hay un ejemplo de anulación de métodos en Python:

claseAnimal:
    sonido def (yo):
        devolver "Sonido animal genérico"

clase Perro(Animal):
    sonido def (yo):
        devolver "¡Guau!"

En el ejemplo anterior, la clase Perro reemplaza el método sound() de la clase Animal.

En resumen, la programación orientada a objetos en Python, con el uso de herencia y polimorfismo, le permite crear código que es flexible y reutilizable. La herencia le permite crear nuevas clases a partir de clases existentes y el polimorfismo permite que los objetos de diferentes clases sean tratados de la misma manera. Estos conceptos son fundamentales para crear software complejo y son una parte esencial de cualquier curso de Python.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de los siguientes conceptos de programación orientada a objetos (POO) permite que un objeto adopte muchas formas?

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

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Programación orientada a objetos en Python: encapsulación en Python

Siguiente página del libro electrónico gratuito:

23Programación orientada a objetos en Python: encapsulación en Python

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.