У меня есть абстрактный класс объектов, который реализует 3 немного разных объекта. В моих 3 подклассах я переопределил методы equals и has, но вопрос в том, должен ли я также делать это в абстрактном объекте? Если я этого не сделаю, я не смогу сравнивать сущности, которые определяются только абстрактной сущностью, если я их не приведу. Если я сделаю равные, рискну ли я сравнить разные подсущности и получить, что они похожи?
Пример:
abstract class Log{}
SystemLog extends Log{}
UserLog extends Log{}
public void test(Log log){
Log myInner = new SystemLog();
if(log.equals(myInner)){
//do random stuff
}
}