Exemplo 1: Polimorfismo com funções e objetos
O script a seguir mostra o uso do polimorfismo entre duas classes diferentes. Uma função é usada para criar o objeto dessas classes. O valor da variável nomeada cor é inicializado no __iniciar__() método de ambos 'Papagaio' e a 'AvestruzAulas no momento da criação de objetos. O características() O método é definido em ambas as classes, mas a saída do método para cada classe é um pouco diferente. O Create_object () A função é usada para criar um objeto da classe. Esta função é executada duas vezes para criar o objeto no 'Papagaio'Classe e no'Avestruz' aula. Cada um chamará o método Recursos () de ambas as classes e imprimirá a saída.
#!/usr/bin/Env Python3Saída
A saída a seguir mostra que o objeto do 'Papagaio'Classe é criada com'Verde' Enquanto o cor valor. A função imprime a saída chamando o características() Método do 'Papagaio' aula. Em seguida, o objeto do 'Avestruz'Classe é criada com'Preto e branco' Enquanto o cor valor. A função imprime a saída chamando o características() Método do 'Avestruz' aula.
Exemplo 2: Polimorfismo em métodos de classe não relacionados
Como no exemplo anterior, o script a seguir mostra o uso do polimorfismo em duas classes diferentes, mas nenhuma função personalizada é usada para declarar o objeto. O __iniciar__() método de ambos 'Gerente' e 'Atendente'As aulas inicializarão as variáveis necessárias. O polimorfismo é implementado aqui criando o post_details () e salário() Métodos dentro de ambas as classes. O conteúdo desses métodos é diferente para cada uma dessas classes. Em seguida, as variáveis de objeto são criadas para as classes e iteradas por um para uma volta. Em cada iteração, o post_details () e salário() Os métodos são chamados para imprimir a saída.
#!/usr/bin/Env Python3Saída
A saída a seguir mostra que o objeto do 'Manjedoura'A classe é usada na primeira iteração do para Loop e o salário do gerente são impressos após o cálculo. O objeto do 'Atendente'A classe é usada na segunda iteração do para Loop e o salário do funcionário são impressos após o cálculo.
Exemplo 3: Polimorfismo em métodos de classe relacionada
O script a seguir mostra o uso do polimorfismo entre duas classes infantis. Aqui, ambos 'Triângulo' e 'Círculo'são as classes infantis da classe pai denominada'Forma geométrica.'De acordo com a herança, a classe infantil pode acessar todas as variáveis e métodos da classe pai. O __iniciar__() Método do 'Forma geométrica'A classe é usada nas duas classes infantis para inicializar a variável nome usando o super() método. Os valores do base e altura do 'Triângulo'A classe será inicializada no momento da criação de objetos. Da mesma maneira, os valores do raio do 'Círculo'A classe será inicializada no momento da criação de objetos. A fórmula para calcular a área de um triângulo é ½ × base × altura, que é implementado no área() Método do 'Triângulo' aula. A fórmula para calcular a área de um círculo é 3.14 × (raio)2, que é implementado no área() Método do 'Círculo' aula. Os nomes de ambos os métodos são os mesmos, aqui, mas o propósito é diferente. Em seguida, um valor de string será retirado do usuário para criar um objeto e chamar o método com base no valor. Se o usuário digitar o 'triângulo', 'então um objeto do'Triângulo' a classe será criada e se o círculo dos tipos de usuário ',' então um objeto do 'Círculo' A classe será criada. Se o usuário digitar algum texto sem 'triângulo' ou 'círculo', então nenhum objeto será criado, e uma mensagem de erro será impressa.
#!/usr/bin/Env Python3Saída
Na saída a seguir, o script é executado duas vezes. A primeira vez, triângulo é tomado como entrada e o objeto é inicializado por três valores, 'Triângulo', base, e altura. Esses valores são então usados para calcular a área do triângulo e a saída será impressa. A segunda vez, círculo é tomado como entrada e o objeto é inicializado por dois valores 'Círculo' e raio. Esses valores são então usados para calcular a área do círculo e a saída será impressa.
Conclusão
Este artigo usou exemplos fáceis para explicar três usos diferentes do polimorfismo em Python. O conceito de polimorfismo também pode ser aplicado sem classes, um método que não é explicado aqui. Este artigo ajudou os leitores a aprender mais sobre como aplicar o polimorfismo na programação Python baseada em objetos, orientada a objetos.