Saltar a contenido

4. ¿Qué es el polimorfismo?

El polimorfismo tiene como objetivo cambiar la funcionalidad entre los métodos con el mismo nombre, en este ejemplo, tenemos tres clases, a los métodos les hemos asignado el mismo nombre desplazamiento. A pesar de que lleven el mismo nombre, los podemos diferenciar creando una nueva función y pasandole como atributo, por ejemplo vehiculo. El vehiculo tomara el valor de mi_vehiculo para hacer la mágia del polimorfismo. A la variable mi_vehiculo, podemos pasarle cualquiera de las tres clases, Moto(), Coche(), Camion().


Image

Código Python 👇

class Moto():

    def desplazamiento(self):
        print('Me desplazo utilizando 2 ruedas')

class Coche():

    def desplazamiento(self):
        print('Me desplazo utilizando 4 ruedas')

class Camion():

    def desplazamiento(self):
        print('Me desplazo utilizando 6 ruedas')

def desplazamiento_vehiculo(vehiculo):
    vehiculo.desplazamiento()

mi_vehiculo = Coche()
desplazamiento_vehiculo(mi_vehiculo)

# salida:
    # Me desplazo utilizando 4 ruedas

IMPORTANTE

El polimorfismo puede acceder a cualquiera de las clases y ejecutar métodos independientemente del nombre que tengan.