class ContaSalario: def init(self, codigo): self._codigo = codigo self._saldo = 0
def __eq__(self, outro):
return self._codigo == outro._codigo
def deposita(self, valor):
self._saldo += valor
def __str__(self):
return "[>>Codigo {}, Saldo {}<<]".format(self._codigo, self._saldo)
conta1 = ContaSalario(37) print(conta1)
conta2 = ContaSalario(37) print(conta2)
#mesmos códigos não significam mesmo objato a mennos que defina igualdade
print(conta1 == conta2)
conta1.deposita(300)
print(conta1) print(conta2)
#perceba que apesar de definir igualdade, lá em cima, pelo mesmo código, e ter dado true na igualdade, ainda assim, o valor do saldo está diferente nas 2 contas. #você não transformou os 2 objetos em 1 por estarem com o mesmo código. #apenas disse que você quer que ele considere eles iguais caso o código seja igual.