Я сделал похожий вопрос несколько дней назад, но теперь у меня есть новые требования и новые задачи =). Как обычно, я использую перечисления животных для дидактических целей, когда я не хочу объяснять предметно-ориентированные вещи
У меня есть базовое перечисление животных, которое используется всем зоопарком (я могу добавить к нему что-то, но я должен сохранить совместимость):
public enum Animal {
DOG,
ELEPHANT,
WHALE,
SHRIMP,
BIRD,
GIRAFFE;
}
Мне нужно разделить их на несколько не связанных между собой категорий, таких как серые животные (кит (мой кит серый) и слон), мелкие животные (птица, креветка и собака), морские животные (кит и креветка).
Я мог бы, как предлагалось в моих предыдущих вопросах, добавить много логических значений, таких как isGray, isSmall и isFromSea, но я бы хотел подход, в котором я мог бы хранить это где-то еще (так что мой enum не должен знать много). Что-то вроде:
public enum Animal {
DOG,
ELEPHANT,
WHALE,
SHRIMP,
BIRD,
GIRAFFE;
public boolean isGray() {
// What comes here?
}
}
Где-то еще
public enum GrayAnimal {
WHALE,
ELEPHANT;
}
Как это возможно? Я слишком много запрашиваю у Java?