Python

Como se usa e para que serve o super em classes Python?

24 de abril de 2020

Como se usa e para que serve o super em classes Python?

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.

para que serve o super capa python

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

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x