У меня есть абстрактный класс Event, который имеет абстрактный метод:
abstract boolean intersect(Event object);
Этот метод должен проверять, пересекаются ли два экземпляра подкласса Event на основе переменных экземпляра конкретного подкласса. Я хочу заставить любой подкласс Event переопределить метод на его переменных экземпляра. Каков наилучший способ создать это? Это моя текущая реализация, которая неверна, так как я меняю тип параметра. Я также пытался использовать интерфейсы, но столкнулся с аналогичными проблемами с параметрами типа.
@Override
public boolean intersect(SubClassEvent e2) {
boolean intersects = false;
if(this.weekDay == e2.weekDay) {
if (this.getStartTime() < e2.getStartTime() && this.getEndTime() > e2.getStartTime()) {
intersects = true;
}
else if(this.getStartTime() >= e2.getStartTime() && this.getStartTime() < e2.getEndTime()){
intersects = true;
}
}
return intersects;
}