Neste artigo você vai ver para que serve o super em classes Python, e também casos de quando esta instrução pode ser utilizada.
Fala programador(a), beleza? Bora aprender mais sobre Python!
O super serve basicamente para ter acesso aos métodos da classe pai, da classe que você está criando
Ganhamos em não precisar digitar o nome da classe explicitamente
E nos da a possibilidade de trabalhar com herança múltipla
Vejamos então o super na prática:
class Mamifero(object): def andar(self): print("O mamífero andou") class Cachorro(Mamifero): def __init__(self): print('O cachorro nasceu.') def andar(self): super().andar() cachorro = Cachorro() cachorro.rolar()
Criamos a classe pai Mamifero, que seria a classe base, e a classe derivada Cachorro
Na classe cachorro passamos o Mamifero como classe base nos argumentos, e no método andar de Cachorro, chamamos com super o método da classe base, que é Mamifero
E assim observamos o primeiro caso de uso para o super
Agora veja um exemplo de herança múltipla:
class Base1: def teste(self): print("Base 1") class Base2: def testeB(self): print("Base 2") class MultiHeranca(Base1, Base2): def herancaA(self): return super().teste() def herancaB(self): return super().testeB() c1 = MultiHeranca() c1.herancaA() c1.herancaB()
Os resultados no código serão:
Base 1 Base 2
Métodos que foram herdados das classes base distintas
Podemos utilizar o super a favor da manutenabilidade do código, não tendo que repetir métodos anteriormente criados
Simplesmente aproveitar métodos de classes Base, referenciado elas na mesma classe
E caso precisar de vários métodos, opte também pela herança múltipla que vai resolver o seu problema
Outra ideia é que se várias classes tem métodos semelhantes, podemos criar uma espécie de super classe contendo estes métodos e até algumas variações
Conclusão
Neste artigo vimos para que serve o super em classes Python
E também como podemos utilizar a herança e múltipla herança, a partir do método super
Apesar de serem mais raros os casos da múltipla herança, ela existe e é facilmente aplicável
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube