class ContaSalario:
def __init__(self, codigo):
self._codigo = codigo
self._saldo = 0
def __eq__(self, outro):
if type(outro) != ContaSalario:
return False
return self._codigo == outro._codigo
class ContaMultiploSalario(ContaSalario):
pass
Antes do corte no vídeo, o professor faz uma comparação de duas variáveis:
conta1 = ContaSalario(37)
conta2 = ContaMultiploSalário(37)
conta1 == conta2
Ele fala que o resultado será False, porém, vemos que o resultado exibido é True.
O video é cortado e o código é alterado para:
conta1 = ContaSalario(37)
conta2 = ContaCorrente(37)
conta1 == conta2
E aí, sim, temos o resultado esperado pelo professor (False).
Porém não há nenhuma explicação.