diff --git a/aula158/contas.py b/aula158/contas.py index a15e962..51f07ff 100644 --- a/aula158/contas.py +++ b/aula158/contas.py @@ -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) diff --git a/aula158/main.py b/aula158/main.py index 99eb9fd..416f928 100644 --- a/aula158/main.py +++ b/aula158/main.py @@ -10,7 +10,7 @@ Conta (ABC) Pessoa Cliente - Clente -> Conta + Clente -> Conta (um para um ou um para muitos) Banco Banco -> Cliente diff --git a/aula158/pessoas.py b/aula158/pessoas.py index ac312f5..03aeecd 100644 --- a/aula158/pessoas.py +++ b/aula158/pessoas.py @@ -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)