Я работаю над заданием, в котором есть иерархия классов, например удар:
аннотация EventClass
someEventClass1 расширяет EventClass
someEventClass2 расширяет EventClass
кратко внутри:
abs EventClass{
//not in use just make it compile
int priority;
concrete compareTo(){
//need access priority when working in subclass}
}
someEventClass1 extends EventClass{
int priority;
}
в моем EventClass у меня есть конкретный метод compareTo (Event in), который я ожидаю, что он наследуется всеми подклассами
будет сравнивать приоритет (int) различных событий.
Очевидно, что внутри этого метода мне нужно получить доступ к приоритету внутри подклассов. Чтобы сделать его компилируемым, мне нужно добавить приоритет int в EventClass, и я подумал, что я могу обработать его в подклассах, и он будет прекрасно работать с наследованным CompareTo.
Однако, он не работает должным образом, похоже, сравнение не работает.
Если я удаляю приоритет приоритета int и compareTo () в EventClass, поместите CompareTo во все мои подклассы (ужасно дублированный код). Работает просто отлично ...
Может кто-нибудь помочь мне спроектировать это? Или скажи мне, что я пропустил ..
Спасибо за любую помощь!