Quando assisti a aula, eu pensei que n existia relação ainda entre o saldo e o limite, mas quando fazemos um saque superior ao limite, o conta.saldo
imprime o valor do saque menos o saldo em negativo. Então quando foi feita a relação entre as duas propriedades?
Segue o código
class Conta:
def __init__(self, numero, titular, saldo, limite): #Aqui nos alocamos na memória os objetos da classe Conta
print('Construindo objeto....{}'.format(self))
self.__numero = numero #Estes atributos (os underscore) servem para dificultar as alterações das variáveis do objeto, mas não impossibilita
self.__titular = titular
self.__saldo = saldo
self.__limite = limite
def extrato(self):
print('Saldo {} do titular {}'.format(self.__saldo, self.__titular))
def deposita(self, valor):
self.__saldo += valor
def saca(self, valor):
self.__saldo -= valor
def trans(self, valor, destino):
self.saca(valor)
destino.deposita(valor)
@property
def saldo(self):
return self.__saldo
@property
def titular(self):
return self.__titular
@property
def limite(self):
return self.__limite
@limite.setter
def limite(self, limite):
self.__limite = limite
Resultado
conta = Conta(123, 'Lucas', 50.0, 1000.0)
Construindo objeto....<conta.Conta object at 0x000001F40B966E00>
>>> conta.saldo
50.0
>>> conta.saca(1200.0)
>>> conta.saldo
-1150.0