Sobreposição de método em Python
Publicados: 2023-01-28Índice
Pré-requisitos para entender a Substituição de Método:
A sobreposição de métodos é um dos conceitos mais importantes na programação orientada a objetos. A implementação de uma função específica na classe filha definida em uma classe pai pode ser alterada pela substituição do método. A substituição de método pode ser definida como a capacidade da classe filha de alterar a execução de um método oferecido por uma de suas classes pai, denominadas ancestrais. Para substituir uma função, os seguintes critérios devem ser atendidos pela classe.
- Classe hereditária: não é possível executar a substituição de função dentro de uma classe. A derivação de uma classe filha de uma classe pai é necessária.
- A assinatura da função redefinida na classe filha e na classe pai deve ser a mesma. Em outras palavras, a função substituída e a função na classe pai devem ter o mesmo número de argumentos e parâmetros.
Uma visão geral da substituição de métodos em Python:
Conforme definido anteriormente, a propriedade de substituição de método de uma linguagem de programação orientada a objetos em virtude da qual a subclasse fornece uma implementação particular do método que já é oferecido por uma de suas superclasses. Diz-se que o método em uma subclasse (classe filha) substitui um método de superclasse (classe pai) quando o método da subclasse tem os mesmos parâmetros ou assinatura, mesmo nome e tipo de retorno ou subtipo idêntico ao método em sua superclasse.
O objeto usado para invocar um método executado determina sua versão. A versão na superclasse será executada se um objeto na superclasse for usado para chamar o método. No entanto, se um método for invocado por um objeto na subclasse, a versão da classe filha será executada. Em outros termos, o tipo do objeto referido é usado para determinar a versão do método que é substituído e executado. A versão do método substituído não é determinada pelo tipo da variável de referência.
Confira os cursos de ciência de dados da upGrad
Benefícios da sobreposição de método:
A principal vantagem da substituição de método em Python é que a classe oferece um modelo definido por ela mesma para o método herdado sem alterar o código da classe pai. Esse recurso também é benéfico nos casos em que uma classe filha usa uma classe pai com várias classes filhas. Nesse caso, o método e os parâmetros da classe pai podem ser invocados pela classe filha sem modificar o código da classe pai.
Explore nossos cursos populares de ciência de dados
Programa Executivo de Pós-Graduação em Ciência de Dados do IIITB | Programa de Certificação Profissional em Ciência de Dados para Tomada de Decisões de Negócios | Mestre em Ciência de Dados pela University of Arizona |
Programa de Certificação Avançada em Ciência de Dados do IIITB | Programa de certificação profissional em ciência de dados e análise de negócios da Universidade de Maryland | Cursos de ciência de dados |
Leia nossos artigos populares sobre ciência de dados
Plano de carreira em ciência de dados: um guia de carreira abrangente | Crescimento na carreira de ciência de dados: o futuro do trabalho está aqui | Por que a ciência de dados é importante? 8 maneiras pelas quais a ciência de dados agrega valor aos negócios |
Relevância da ciência de dados para gerentes | A melhor folha de dicas de ciência de dados que todo cientista de dados deveria ter | As 6 principais razões pelas quais você deve se tornar um cientista de dados |
Um dia na vida do cientista de dados: o que eles fazem? | Destruído o Mito: Data Science não precisa de Codificação | Business Intelligence x Ciência de Dados: Quais são as diferenças? |
Diferenças entre substituição de método e sobrecarga de método
Substituição de método | Sobrecarga de método |
Os métodos ou funções nas classes pai e filha devem ter as mesmas assinaturas e os mesmos nomes. | As funções ou métodos devem ter os mesmos nomes. No entanto, suas assinaturas não precisam ser as mesmas. |
Este é um exemplo de polimorfismo em tempo de execução. | Esse processo é um exemplo de polimorfismo em tempo de compilação. |
A herança é uma obrigação para substituição de método em Python. | A herança de classes pode ser necessária em alguns casos. No entanto, pode não ser necessário em todos os casos. |
A substituição do método ocorre entre os métodos na classe pai e na classe filha. No entanto, isso não pode acontecer dentro de uma classe. | A sobrecarga de método ocorre entre os métodos dentro da mesma classe. |
Esse recurso é usado para alterar o comportamento dos métodos existentes. | É usado para adicionar mais ao comportamento do método. |
Pelo menos duas classes (uma classe filha e uma classe pai) são necessárias para executar a substituição do método. | Nenhuma classe adicional é necessária porque a sobrecarga ocorre entre os métodos dentro da mesma classe. |
Se você gostaria de aprender a fundo sobre substituição de método em Python, sugerimos que você faça o Mestrado em Ciência de Dados de 18 meses . upGrad oferece este curso do IIIT Bangalore e da Liverpool John Moore's University. O curso ensina habilidades como estatística, análise preditiva usando Python, aprendizado de máquina, visualização de dados, análise de big data e muito mais. Alunos com um forte conhecimento dos conceitos de Python estão bem posicionados para abordar assuntos como Deep Learning, Processamento de Linguagem Natural, Análise de Negócios e Engenharia de Dados.