1
resposta

[Projeto] Meu código

#Ex classeBanco
class ContaBancaria:
    def __init__(self,titular = "", saldo = 0):
        self._titular = titular.title()
        self._saldo = saldo
        self._ativo = False

    def __str__(self):
        return f"Olá {self._titular}, saldo atual: R$ {self._saldo:.2f}"

    def alternar_status(self):
        self._ativo = not self._ativo

    @property
    def mostrar_ativo(self):
        if self._ativo:
            return "Conta ativa"
        else:
          return "Conta não ativada"


conta1 = ContaBancaria("Pedro",2000)
conta2 =ContaBancaria("Kleber",20000)
print(conta1)
print(conta2)
conta1.alternar_status()
print(conta1.mostrar_ativo)
print(conta1._saldo)

class ClienteBanco:
    def __init__(self,nome,idade,endereco,cpf,profissao):
        self._nome = nome.title()
        self._idade = idade
        self._endereco = endereco
        self._cpf = cpf
        self._profissao = profissao
    
    @classmethod
    def criar_conta(cls,titular,saldo_inicial):
        conta = ContaBancaria(titular,saldo_inicial)
        return conta

    
cliente_banco1 = ClienteBanco("Pedro",19,"SP","598-369-137-02","Sapteiro")
cliente_banco2 = ClienteBanco("Jose",32,"MG","495-159-168-04","Engenheiro")
cliente_banco3 = ClienteBanco("Ana",25,"SP","698-269-139-04","Professora")

conta_cliente1 = ClienteBanco.criar_conta("Maria",5000)
print(f"Conta de {conta_cliente1._titular} criada com saldo inicial de R${conta_cliente1._saldo}")
1 resposta

Oi, Pedro. Como vai?

Agradeço por compartilhar.

Você aplicou bem os conceitos de Orientação a Objetos, usando __init__, __str__, @property e @classmethod. Chamou atenção a forma como você separou a classe ContaBancaria da classe ClienteBanco, deixando o código mais organizado e próximo da proposta da atividade.

Uma dica interessante para o futuro é criar um método para exibir os dados da conta, evitando acessar atributos protegidos como _saldo e _titular diretamente:


def exibir_resumo(self):
    return f"Titular: {self._titular} | Saldo: R$ {self._saldo:.2f}"

Esse código cria um método para mostrar os dados da conta de forma mais organizada, mantendo o acesso aos atributos dentro da própria classe.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!