Herança e polimorfismo são dois conceitos fundamentais na programação orientada a objetos (OOP) e são amplamente usados ​​em muitas linguagens de programação, incluindo Python. Vamos explorar esses conceitos em detalhes.

7.4.1 Herança

A herança é um recurso da programação orientada a objetos que permite que uma classe herde atributos e métodos de outra classe. A classe de onde os atributos e métodos são herdados é chamada de classe base ou classe pai, e a classe que herda esses atributos e métodos é chamada de classe filha ou classe derivada.

No Python, a herança é realizada definindo uma nova classe, seguida pelos nomes das classes pai entre parênteses.

class ClassePai:
    pass

class ClasseFilha(ClassePai):
    pass

Aqui, ClasseFilha é uma subclasse de ClassePai e herda todos os seus atributos e métodos.

Python também suporta herança múltipla, onde uma classe pode herdar de várias classes pai. Isso é realizado listando todas as classes pai entre parênteses, separadas por vírgulas.

class ClassePai1:
    pass

class ClassePai2:
    pass

class ClasseFilha(ClassePai1, ClassePai2):
    pass

Aqui, ClasseFilha é uma subclasse de ClassePai1 e ClassePai2 e herda todos os seus atributos e métodos.

7.4.2 Polimorfismo

O polimorfismo é outro recurso fundamental da programação orientada a objetos. Ele permite que um objeto assuma muitas formas. Mais especificamente, o polimorfismo permite que uma classe filha compartilhe o mesmo nome de método que sua classe pai e ofereça uma implementação diferente desse método.

Por exemplo, considere duas classes, ClassePai e ClasseFilha. Ambas as classes têm um método chamado metodo_exemplo. No entanto, a implementação desse método em cada classe é diferente.

class ClassePai:
    def metodo_exemplo(self):
        print("Método da ClassePai")

class ClasseFilha(ClassePai):
    def metodo_exemplo(self):
        print("Método da ClasseFilha")

Aqui, ClasseFilha é uma subclasse de ClassePai e ambas as classes têm um método chamado metodo_exemplo. No entanto, a implementação desse método em cada classe é diferente. Isso é um exemplo de polimorfismo.

O Python permite o polimorfismo de duas maneiras: sobrecarga de método e substituição de método. A sobrecarga de método permite que uma classe tenha vários métodos com o mesmo nome, mas com diferentes assinaturas de método. A substituição do método permite que uma classe filha forneça uma implementação diferente de um método que já é fornecido por sua classe pai.

Em resumo, a herança e o polimorfismo são características fundamentais da programação orientada a objetos que permitem a reutilização de código e a flexibilidade na implementação de diferentes comportamentos de objetos. Eles são amplamente usados ​​em muitas linguagens de programação, incluindo Python, e são fundamentais para a criação de sistemas eficientes e reutilizáveis.

Agora responda o exercício sobre o conteúdo:

Quais são os dois conceitos fundamentais na programação orientada a objetos (OOP) e como eles são usados em Python?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Classes e objetos em Python: Métodos especiais

Próxima página do Ebook Gratuito:

41Classes e objetos em Python: Métodos especiais

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto