я следующий код:Java абстрактный метод: это плохая практика?
public static final Condition.ActionCondition ACTION_CONDITION_ACTIVATE = new Condition.ActionCondition(ACTION_CONDITION_ACTIVATE_ID, "Activate")
{
private static final long serialVersionUID = 5660276607942658334L;
@Override
public Object action(Object... params)
{
return null;
}
};
, который расширяет свой класс Condition. Единственная разница в этих классах - это абстрактный метод «действия». Регулярные условия (класс, который он распространяет) не имеют никаких действий, но хранятся в классе условий «ArrayList», но это может быть не в той точке.
Идея ActionConditions состоит в том, что они имеют целое число, представляющее их условие, в данном случае ACTION_CONDITION_ACTIVATE_ID, имя в данном случае «Активировать» и, наконец, метод, который что-то делает. Метод может возвращать что-либо, делать все, что он хочет, и иметь что-либо в качестве параметров.
Я могу придумать несколько разных применений этого класса, но так, как он написан с помощью метода действия, по какой-то причине просто портит меня. Есть ли лучший способ выполнить то, что делает этот класс? Или класс хорошо написан достаточно?
Только то, что я искал! Вы совершенно правы в отношении любого параметра, поражающего безопасную часть типа Java. Дженерики - это путь. Не могу поверить, что я об этом не думал! Спасибо! –