Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre a classe object

Olá, boa tarde. Queridos amigos do fórun, em meu aprendizado de c#, cheguei na parte que nos mostra que toda classe erda de object, indiretamente ou diretamente. Ta, dai eu sobrescrevi o método equals na classe conta; ele recebe um parâmetro do tipo object, e depois faz um cast para o tipo conta. Por que se eu tento passar um cliente para o cast, da erro? ocorre uma exception, na verdade. Passo o cliente para a variavel object, vai de boa. mas no cast, da rolo. O que poderia ser? Então o método só funciona para contas? Então não vejo motivos de se ter esse método, eu poderia criar um método que faz o que esse faz sem sobrescrever o da classe object. ou não?

1 resposta
solução!

Dá problema porque você não deve poder fazer cast de um cliente para uma conta. Seu método equals faz um cast para contas, então você só pode passar uma conta, senão não faz sentido.

Você pode criar um método que compara duas contas sem sobrescrever o da classe object. O equals é apenas uma convenção, um método que você pode alterar para que sua classe use um equals "customizado" por você.

Mas nada te impede de criar um método "compara", "comparaContas", "comparaClientes", etc.