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.

Quer compartilhar este artigo?

Prepare-se para uma Carreira do Futuro

Candidate-se ao Mestrado em Ciência de Dados