Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Sugestão] Enunciado dos exercicios 1 e 2 do 7.Hora prática

Olá!

Percebi uma possível inconsistência entre o enunciado e a resolução de um dos exercícios da aula de POO.

O enunciado diz:

"Adicione um método de classe chamado ativar_conta à classe ContaBancaria que define o atributo ativo como True."

Porém, nos exercícios anteriores o atributo ativo é criado no construtor (init), ou seja, como um atributo de instância (self._ativo).

Além disso, a resolução implementa:

def ativar_conta(self):
self._ativo = True

Esse é um método de instância, e não um método de classe, já que não utiliza o decorator @classmethod nem recebe cls como parâmetro.

Quando tentei seguir exatamente o que o enunciado pedia, implementei:

@classmethod
def ativar_conta(cls):
cls._ativo = True

No entanto, isso cria/altera um atributo da classe, enquanto o atributo _ativo havia sido definido como atributo da instância no construtor, gerando um comportamento diferente do esperado.

Minha dúvida é: o enunciado deveria pedir um método de instância em vez de um método de classe, ou a intenção era que ativo fosse um atributo da classe desde o início?

Acredito que seria interessante revisar esse exercício para que o enunciado e a resolução fiquem consistentes e não gerem essa dúvida para outros alunos.

Obrigado!