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?
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?
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.
: )