Solução - Criando a classe Cliente
This commit is contained in:
@@ -19,6 +19,11 @@ class Conta(abc.ABC):
|
|||||||
print(f'O seu saldo é {self.saldo:.2f} {msg}')
|
print(f'O seu saldo é {self.saldo:.2f} {msg}')
|
||||||
print('--')
|
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):
|
class ContaPoupanca(Conta):
|
||||||
def sacar(self, valor):
|
def sacar(self, valor):
|
||||||
@@ -56,6 +61,12 @@ class ContaCorrente(Conta):
|
|||||||
self.detalhes(f'(SAQUE NEGADO {valor})')
|
self.detalhes(f'(SAQUE NEGADO {valor})')
|
||||||
return self.saldo
|
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__':
|
if __name__ == '__main__':
|
||||||
cp1 = ContaPoupanca(111, 222)
|
cp1 = ContaPoupanca(111, 222)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Conta (ABC)
|
|||||||
|
|
||||||
Pessoa
|
Pessoa
|
||||||
Cliente
|
Cliente
|
||||||
Clente -> Conta
|
Clente -> Conta (um para um ou um para muitos)
|
||||||
|
|
||||||
Banco
|
Banco
|
||||||
Banco -> Cliente
|
Banco -> Cliente
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import contas
|
||||||
|
|
||||||
|
|
||||||
class Pessoa:
|
class Pessoa:
|
||||||
def __init__(self, nome: str, idade: int) -> None:
|
def __init__(self, nome: str, idade: int) -> None:
|
||||||
self.nome = nome
|
self.nome = nome
|
||||||
@@ -18,3 +21,25 @@ class Pessoa:
|
|||||||
@idade.setter
|
@idade.setter
|
||||||
def idade(self, idade: int):
|
def idade(self, idade: int):
|
||||||
self._idade = idade
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user