Oi pessoal, tudo bem?
Estou exercitando os conceitos da aula e tentei seguir os passos que foram implementados na aula 02 da sessão 3, de "Listas e Polimorfismos". No entanto, fiquei preso na parte de instanciar um método de uma subclasse dentro de um laço "for" pelo conceito do DuckTyping. Veja que estou recebendo um erro "AttributeError: 'Conta' object has no attribute 'passa_mes'" quando eu tento receber o retorno do for no meu código que ficou assim:
class Conta:
def __init__(self, numeroconta):
self._numeroconta = numeroconta
self._saldoconta = 0
def depositaValor(self, valordeposito):
self._saldoconta += valordeposito
def __str__(self):
return f' "Conta: {self._numeroconta} ; Saldo: {self._saldoconta}"'
class Contacorrente(Conta):
def passa_mes(self):
self._saldoconta -= + 1
class Contapoupanca(Conta):
def passa_mes(self):
self._saldoconta -= 3
self._saldoconta *= 1.01
contaFulano = Conta(456)
contaFulano.depositaValor(1000)
contaSicrano = Contacorrente(789)
contaSicrano.depositaValor(2000)
#contaSicrano.passa_mes()
contaBeltrano = Contapoupanca(101112)
contaBeltrano.depositaValor(400)
#contaBeltrano.passa_mes()
print(contaFulano)
print(contaBeltrano)
print(contaSicrano)
agencia = [contaFulano, contaBeltrano, contaSicrano]
for contas in agencia:
contas.passa_mes()
Emperrei num trecho simples, mas acho importante não deixar passar batido. Alguma sugestão?
Muito obrigado pelo apoio e parabéns pelo conteúdo e didática do curso.