1
resposta

Quando usar método super?

Na aula que você cria uma conta corrente e uma conta poupança filhas de Conta, por que não é utilizado o método super() para herdar o código de Conta?

1 resposta

Olá Caroline, tudo bem ? Espero que sim.

Desculpa pela demora no retorno.

O super de acordo com a documentação tem a função de acessar métodos da classe mãe que foram sobrescritos na classe filha.

No exemplo do instrutor não foi sobrescrito o método __init__ então não é necessário fazer nada já que o método construtor da classe mãe vai ser acionado.

Fiz esse código para "brincar" com as possibilidades que temos com a herança e com o método super no python, recomendo tentar analisar esse código:

class Conta:
    def __init__(self, num, saldo):
        self.num = num
        self.saldo = saldo

    def metodo_conta(self):
        print("metodo conta")

class ContaFilhaComInit(Conta):
    def __init__(self, num, saldo, diferenca):

        super().__init__(num, saldo)
        self.diferenca = diferenca

        self.metodo_conta()
        super().metodo_conta()

    def metodo_conta(self):
        print("metodo conta filha")


ContaFilhaComInit(20, 200, 123)

Qualquer duvida não hesite em perguntar, bons estudos.

: )