Olá, Sergio! Como vai?
No enunciado da atividade, é solicitado que o método ativar_conta seja um método de classe, mas parece que o professor implementou como um método de instância. Vamos esclarecer a diferença e como você pode implementar um método de classe.
Um método de classe é definido usando o decorador @classmethod e recebe a classe como primeiro argumento, geralmente chamado de cls. Isso permite que o método acesse ou modifique atributos de classe, em vez de atributos de instância.
Para resolver o seu desafio, você pode implementar o método ativar_conta como um método de classe da seguinte forma:
class ContaBancaria:
_ativo = False
def __init__(self, titular, saldo):
self.titular = titular
self.saldo = saldo
@classmethod
def ativar_conta(cls):
cls._ativo = True
# Criando uma instância da classe
conta = ContaBancaria("Sergio", 1000)
# Chamando o método de classe
ContaBancaria.ativar_conta()
# Imprimindo o valor de ativo
print(ContaBancaria._ativo)
Neste exemplo, o método ativar_conta é um método de classe que altera o atributo _ativo da classe ContaBancaria para True. Assim, ele atende ao que foi solicitado no enunciado.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.