Ejemplo 1: polimorfismo con funciones y objetos
El siguiente script muestra el uso del polimorfismo entre dos clases diferentes. Se utiliza una función para crear el objeto de esas clases. El valor de la variable nombrada color se inicializa en el __en eso__() método de ambos 'Loro' y el 'Avestruz'clases en el momento de la creación de objetos. El características() El método se define en ambas clases, pero la salida del método para cada clase es un poco diferente. El Crear objeto() la función se usa para crear un objeto de la clase. Esta función se ejecuta dos veces para crear el objeto en el 'Loro'clase y en el'Avestruz' clase. Cada uno llamará al método características () de ambas clases e imprimirá la salida.
#!/usr/bin/env python3Producción
La siguiente salida muestra que el objeto del 'Loro'La clase se crea con'Verde'Como el color valor. La función imprime la salida llamando al características() método de 'Loro' clase. A continuación, el objeto del 'Avestruz'La clase se crea con'En blanco y negro'Como el color valor. La función imprime la salida llamando al características() método de 'Avestruz' clase.
Ejemplo 2: polimorfismo en métodos de clase no relacionados
Como en el ejemplo anterior, el siguiente script muestra el uso del polimorfismo en dos clases diferentes, pero no se usa una función personalizada para declarar el objeto. El __en eso__() método de ambos 'Gerente' y 'Oficinista'Las clases inicializarán las variables necesarias. El polimorfismo se implementa aquí creando el post_details () y salario() Métodos dentro de ambas clases. El contenido de estos métodos es diferente para cada una de estas clases. A continuación, las variables de objeto se crean para ambas clases y se iteran por un para un bucle. En cada iteración, el post_details () y salario() Los métodos están llamados a imprimir la salida.
#!/usr/bin/env python3Producción
La siguiente salida muestra que el objeto del 'Pesebre'La clase se usa en la primera iteración del para el bucle y el salario del administrador se imprimen después del cálculo. El objeto del 'Oficinista'La clase se usa en la segunda iteración del para El bucle y el salario del empleado se imprimen después del cálculo.
Ejemplo 3: polimorfismo en métodos de clase relacionados
El siguiente script muestra el uso del polimorfismo entre dos clases de niños. Aquí, ambos 'Triángulo' y 'Círculo'son las clases infantiles de la clase madre nombrada'Forma geometrica.'Según la herencia, la clase infantil puede acceder a todas las variables y métodos de la clase principal. El __en eso__() método de 'Forma geometrica'La clase se usa en ambas clases infantiles para inicializar la variable nombre mediante el uso del súper() método. Los valores del base y altura del 'Triángulo'La clase se inicializará en el momento de la creación de objetos. De la misma manera, los valores de radio del 'Círculo'La clase se inicializará en el momento de la creación de objetos. La fórmula para calcular el área de un triángulo es ½ × base × altura, que se implementa en el área() método de 'Triángulo' clase. La fórmula para calcular el área de un círculo es 3.14 × (radio)2, que se implementa en el área() método de 'Círculo' clase. Los nombres de ambos métodos son los mismos, aquí, pero el propósito es diferente. A continuación, se tomará un valor de cadena del usuario para crear un objeto y llamar al método en función del valor. Si el usuario tipos 'triángulo', entonces un objeto de 'Triángulo' se creará la clase, y si el usuario tipos de usuarios, entonces un objeto del 'Círculo' Se creará la clase. Si el usuario escribe algún texto sin 'triángulo' o 'círculo', entonces no se creará ningún objeto y se imprimirá un mensaje de error.
#!/usr/bin/env python3Producción
En la siguiente salida, el script se ejecuta dos veces. La primera vez, triángulo se toma como la entrada y el objeto se inicializa con tres valores ','Triángulo', base, y altura. Estos valores se usan para calcular el área del triángulo y la salida se imprimirá. La segunda vez, círculo se toma como entrada, y el objeto se inicializa con dos valores ','Círculo' y radio. Estos valores se utilizan para calcular el área del círculo y la salida se imprimirá.
Conclusión
Este artículo utilizó ejemplos fáciles para explicar tres usos diferentes del polimorfismo en Python. El concepto de polimorfismo también se puede aplicar sin clases, un método que no se explica aquí. Este artículo ayudó a los lectores a aprender más sobre cómo aplicar el polimorfismo en la programación de Python basada en objetos.