Solução - Criando a classe Cliente

This commit is contained in:
Luiz Otávio
2022-12-02 08:06:04 -03:00
parent 54c01673de
commit c32d02430e
3 changed files with 37 additions and 1 deletions

View File

@@ -19,6 +19,11 @@ class Conta(abc.ABC):
print(f'O seu saldo é {self.saldo:.2f} {msg}')
print('--')
def __repr__(self):
class_name = type(self).__name__
attrs = f'({self.agencia!r}, {self.conta!r}, {self.saldo!r})'
return f'{class_name}{attrs}'
class ContaPoupanca(Conta):
def sacar(self, valor):
@@ -56,6 +61,12 @@ class ContaCorrente(Conta):
self.detalhes(f'(SAQUE NEGADO {valor})')
return self.saldo
def __repr__(self):
class_name = type(self).__name__
attrs = f'({self.agencia!r}, {self.conta!r}, {self.saldo!r}, '\
f'{self.limite!r})'
return f'{class_name}{attrs}'
if __name__ == '__main__':
cp1 = ContaPoupanca(111, 222)

View File

@@ -10,7 +10,7 @@ Conta (ABC)
Pessoa
Cliente
Clente -> Conta
Clente -> Conta (um para um ou um para muitos)
Banco
Banco -> Cliente

View File

@@ -1,3 +1,6 @@
import contas
class Pessoa:
def __init__(self, nome: str, idade: int) -> None:
self.nome = nome
@@ -18,3 +21,25 @@ class Pessoa:
@idade.setter
def idade(self, idade: int):
self._idade = idade
def __repr__(self):
class_name = type(self).__name__
attrs = f'({self.nome!r}, {self.idade!r})'
return f'{class_name}{attrs}'
class Cliente(Pessoa):
def __init__(self, nome: str, idade: int) -> None:
super().__init__(nome, idade)
self.conta: contas.Conta | None = None
if __name__ == '__main__':
c1 = Cliente('Luiz', 30)
c1.conta = contas.ContaCorrente(111, 222, 0, 0)
print(c1)
print(c1.conta)
c2 = Cliente('Maria', 18)
c2.conta = contas.ContaPoupanca(112, 223, 100)
print(c2)
print(c2.conta)