Codigo 1
class ContaBancaria:
_clientes = []
def __init__(self, titular: str, saldo: int = 0):
self.titular = titular.title()
self.saldo = saldo
self._ativo = False
ContaBancaria._clientes.append(self)
def __str__(self) -> str:
return f'{self.titular} | Saldo: {self.saldo}'
# =========================
# Propriedades
# =========================
@property
def ativo(self) -> bool:
"""Estado lógico da conta."""
return self._ativo
@property
def status(self) -> str:
"""Representação visual do estado."""
return '⌧' if self._ativo else '☐'
# =========================
# Regras de negócio
# =========================
def ativar(self) -> None:
self._ativo = True
def desativar(self) -> None:
self._ativo = False
def alternar_estado(self) -> None:
self._ativo = not self._ativo
# =========================
# Métodos de classe
# =========================
@classmethod
def listar_clientes(cls) -> None:
for cliente in cls._clientes:
print(
f'{cliente.titular.ljust(25)} | '
f'{str(cliente.saldo).ljust(15)} | '
f'{cliente.status}'
)
cliente1 = ContaBancaria('Ana Silva', 28000)
cliente2 = ContaBancaria('Bruno Costa', 35000)
cliente3 = ContaBancaria('Carla Pereira', 22000)
cliente1.ativar()
cliente3.alternar_estado()
ContaBancaria.listar_clientes()
Codigo 2
class ClienteBanco:
clientes = []
def __init__(
self,
nome: str,
cpf: str,
idade: int,
agencia: str,
saldo: float
):
self.nome = nome
self.cpf = cpf
self.idade = idade
self.agencia = agencia
self.saldo = saldo
ClienteBanco.clientes.append(self)
def __str__(self) -> str:
return f'{self.nome} | CPF: {self.cpf} | Saldo: {self.saldo}'
@classmethod
def listar_clientes(cls) -> None:
for cliente in cls.clientes:
print(
f'{cliente.nome.ljust(20)} | '
f'{cliente.cpf.ljust(14)} | '
f'{str(cliente.idade).ljust(5)} | '
f'{cliente.agencia.ljust(6)} | '
f'{str(cliente.saldo).ljust(10)}'
)
cliente1 = ClienteBanco(
nome='Ana Silva',
cpf='123.456.789-00',
idade=30,
agencia='0001',
saldo=2500.00
)
cliente2 = ClienteBanco(
nome='Bruno Costa',
cpf='987.654.321-00',
idade=42,
agencia='0002',
saldo=4800.50
)
cliente3 = ClienteBanco(
nome='Carla Pereira',
cpf='456.789.123-00',
idade=25,
agencia='0001',
saldo=1200.75
)
ClienteBanco.listar_clientes()