1
resposta

Hora da prática: criando classes, construtores e métodos

1. Crie uma classe chamada ContaBancaria com um construtor que aceita os parâmetros titular e saldo. Inicie o atributo ativo como False por padrão.

class ContaBancaria:
    def __init__(self,titular,saldo,ativo = False):
        self._titular = titular
        self._saldo = saldo
        self._ativo = ativo

2. Na classe ContaBancaria, adicione um método especial __str__ que retorna uma mensagem formatada com o titular e o saldo da conta. Crie duas instâncias da classe e imprima essas instâncias.
 def __str__(self):
        return (f'-Conta de {self._titular}\n'
                f'-Saldo: *****\n'
                f'-Status: {'Online' if self._ativo else 'Offline' }')

3. Adicione um método de classe chamado ativar_conta à classe ContaBancaria que define o atributo ativo como True. Crie uma instância da classe, chame o método de classe e imprima o valor de ativo.

    def ativar(cls):
        conta._ativo = True

conta = ContaBancaria('Ryan',500)
conta.ativar()
print(conta)

-Conta de Ryan
-Saldo: *****
-Status: Online

4) Refatore a classe `ContaBancaria` para utilizar a abordagem "pythonica" na criação de atributos. Utilize propriedades, se necessário.

class ContaBancaria:
    def __init__(self,titular,saldo,ativo = False):
        self._titular = titular
        self._saldo = saldo
        self._ativo = ativo

    @property # getter
    def titular(self):
        return self._titular
    @property
    def saldo(self): # getter
        return self._saldo

    @property
    def ativo(self):
        return self._ativo

    def __str__(self):
        return (f'-Conta de {conta.titular}\n'
                f'-Saldo: *****\n'
                f'-Status: {'Online' if conta.ativo else 'Offline' }')





5) Crie uma instância da classe e imprima o valor da propriedade titular
conta = ContaBancaria('Ryan',500)
print(conta)
print(conta.titular)

6) Crie uma classe chamada `ClienteBanco` com um construtor que aceita 5 atributos. Instancie 3 objetos desta classe e atribua valores aos seus atributos através do método construtor.




1 resposta

Oi, Ryan! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Você organizou muito bem as etapas da atividade, implementando construtores, __str__, propriedades e métodos. Só cuidado com o método ativar: como ele atua sobre a instância, ele não deve ser de classe (@classmethod). Basta definir como um método comum.

Conteúdos complementares para aprofundar seus estudos em Orientação a Objetos com Python:
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!