Зачем нам нужны абстрактные методы в Enums [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Зачем нам нужны абстрактные методы в Enums [закрыто]

Сообщение Anonymous »

Я уже некоторое время изучаю Java, чтобы лучше понять, что происходит внутри некоторых частей кода.
Изучая Enum, который я привык использовать исключительно для перечисления различных фиксированных значений (например, дней недели), я наткнулся на кое-что, чего не совсем понял — реализацию абстрактных методов внутри Enum.
Мой вопрос заключается в следующем: во-первых, нужен ли этот механизм сегодня? Это похоже на запах кода, хотя я не могу объяснить почему.
Во-вторых, как часто Enum используется таким образом? Я понимаю, что всегда могут быть исключительные случаи, но это делает код довольно трудным для чтения.
Вот пример:

Код: Выделить всё

public enum Operation {
ADD {
@Override
public int apply(int x, int y) {
return x + y;
}
},
SUBTRACT {
@Override
public int apply(int x, int y) {
return x  -  y;
}
};
public abstract int apply(int x, int y);
}
Я пытался найти ему практическое применение и нашел только одно — разработку на Java для Android, и там я в целом понимаю смысл механизма, но для веб-разработки это выглядит как устаревший механизм, который только портит код.
>

Подробнее здесь: https://stackoverflow.com/questions/798 ... s-in-enums
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»