Implementei a interface Comparable nas classes ContaPoupança e ContaCorrente. Devo mesmo fazer isso? O eclispse acusou erro, então retirei.
Implementei a interface Comparable nas classes ContaPoupança e ContaCorrente. Devo mesmo fazer isso? O eclispse acusou erro, então retirei.
Fala Geovane, tudo bem ?
A ideia aqui é que a comparação leva em conta dados genéricos, que tanto a poupança como a corrente possuem (numero e agencia, por exemplo). Sendo assim é adequado fazer com que nossa classe abstrata Conta implemente a interface e tenha seu método compareTo implementado. As duas classes filhas vão tirar proveito dessa implementação base presente em Conta, e ambas serão consideradas (mesmo que indiretamente) Comparable.
Mas não que seja "errado" implementar nas classes mais especialistas. Se o critério de comparação mudasse por exemplo, ou se algum tipo de Conta não tivesse o comportamento de ser comparável a outras, seria melhor a implementação estar presente nos tipos mais específicos.
Espero ter ajudado. Abraço!
Mas quando faço a implementação na classe Conta, o eclipse acusa erro nas classes filhas. Nelas o comparable já foi implementado. O que devo fazer?
Tiro o cabeçalho nas classes filhas?
Faço o método compareTo abstrato na classe Conta?
Opa,
Faça com que a classe Conta implements Comparable<Conta>
e implemente de fato o método na classe Conta, não deixe como abstrato, coloque de fato a lógica de comparação. Assim as filhas não precisam nem ter implements
nem a sobrescrita do método, já que a classe mãe já se encarrega dessa responsabilidade.
Abraço!
Certo, valeu!