Python

Python

Tutorial Python: Polimorfismo

Python polimorfismo: técnicas y ejemplos. Domina las técnicas de polimorfismo en Python con ejemplos prácticos y detallados.

El polimorfismo es un principio fundamental de la programación orientada a objetos (OOP) y es muy potente en Python. El término "polimorfismo" proviene del griego y significa "muchas formas". En el contexto de la programación, se refiere a la capacidad de un objeto para tomar muchas formas.

Polimorfismo con funciones y objetos

En Python, el polimorfismo permite usar una única interfaz con diferentes tipos de objetos. Esto significa que se puede usar la misma interfaz para pasar diferentes tipos de objetos y, dependiendo del objeto que se pase, obtener un resultado diferente.

class Gato:
    def sonido(self):
        return "miau"

class Perro:
    def sonido(self):
        return "guau"

def hacer_sonido(animal):
    print(animal.sonido())

gato = Gato()
perro = Perro()

hacer_sonido(gato)  # Output: "miau"
hacer_sonido(perro)  # Output: "guau"

En el ejemplo anterior, tanto Gato como Perro tienen un método sonido(), pero el resultado es diferente según el tipo de objeto que pasamos a la función hacer_sonido().

Polimorfismo con herencia y métodos

El polimorfismo también es útil en combinación con la herencia. En la herencia, una subclase puede heredar métodos de la superclase. Sin embargo, a veces puede ser útil cambiar la implementación de un método en la subclase. Esto se llama sobrescribir un método.

Aquí hay un ejemplo de cómo el polimorfismo puede funcionar con la herencia:

class Animal:
    def sonido(self):
        return "Este animal hace..."

class Gato(Animal):
    def sonido(self):
        return "miau"

class Perro(Animal):
    def sonido(self):
        return "guau"

animales = [Gato(), Perro()]

for animal in animales:
    print(animal.sonido())
# Salida por consola:
# miau
# guau

En este ejemplo, Gato y Perro son subclases de Animal y ambas sobrescriben el método sonido(). Cuando se itera sobre la lista de animales y se llama al método sonido(), se obtiene un resultado diferente dependiendo de si el objeto es una instancia de Gato o Perro.

En conclusión, el polimorfismo es un poderoso principio de OOP que permite que los objetos se utilicen de manera intercambiable según su tipo, proporcionando flexibilidad y facilitando la reutilización del código en Python.

Certifícate en Python con CertiDevs PLUS

Ejercicios de esta lección Polimorfismo

Evalúa tus conocimientos de esta lección Polimorfismo con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Polimorfismo

Python
Puzzle

Clases y objetos

Python
Código

Listas

Python
Código

Crear módulos y paquetes

Python
Puzzle

Estructuras de control

Python
Test

Diccionarios

Python
Puzzle

Módulo math

Python
Test

Importar módulos y paquetes

Python
Test

Operadores

Python
Test

OOP en python

Python
Proyecto

Estructuras de control

Python
Código

Instalación de Python y creación de proyecto

Python
Test

Listas

Python
Puzzle

Estructuras de control

Python
Puzzle

Encapsulación

Python
Test

Gestor de tareas con operaciones CRUD en Python

Python
Proyecto

Clases y objetos

Python
Test

Crear módulos y paquetes

Python
Test

Encapsulación

Python
Puzzle

Tipos de datos

Python
Test

Herencia de clases

Python
Código

Tuplas

Python
Test

Herencia

Python
Puzzle

Módulo datetime

Python
Puzzle

Excepciones

Python
Puzzle

Operadores

Python
Puzzle

Funciones lambda

Python
Puzzle

Clases y objetos

Python
Puzzle

Diccionarios

Python
Test

Módulo os

Python
Puzzle

Listas

Python
Test

Conjuntos

Python
Puzzle

Funciones lambda

Python
Test

Tuplas

Python
Puzzle

Módulo json

Python
Puzzle

Ejercicio proyecto de Python con Pandas - Análisis de datos

Python
Proyecto

Operadores

Python
Código

Variables

Python
Puzzle

Tipos de datos

Python
Puzzle

Diccionarios en Python

Python
Código

Conjuntos

Python
Test

Módulo math

Python
Puzzle

Excepciones

Python
Test

Módulo csv

Python
Test

Importar módulos y paquetes

Python
Puzzle

Funciones Python

Python
Puzzle

Módulo json

Python
Test

Tipos de datos

Python
Código

Módulo datetime

Python
Test

Herencia

Python
Test

Funciones

Python
Test

Funciones Python

Python
Código

Variables

Python
Test

Módulo csv

Python
Puzzle

Introducción a Python

Python
Test

Polimorfismo

Python
Test

Módulo os

Python
Test

Todas las lecciones de Python

Accede a todas las lecciones de Python y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Certificados de superación de Python

Supera todos los ejercicios de programación del curso de Python y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender el concepto de polimorfismo en la programación orientada a objetos.
  2. Aprender a utilizar el polimorfismo en Python con funciones o métodos que operan con diferentes tipos de objetos.
  3. Saber cómo se puede usar una interfaz única para interactuar con diferentes objetos y obtener resultados distintos según el objeto que se pasa.
  4. Reconocer que el polimorfismo es especialmente útil con herencia, donde las subclases pueden sobrescribir métodos de la superclase para proporcionar implementaciones específicas.
  5. Entender la importancia del polimorfismo en la flexibilidad y reutilización del código en Python.