У меня есть интерфейс GenericExpression, который расширяется для создания выражений (например, AndExpression, OrExpression и т. Д.).
Каждая реализация GenericExpression имеет строку, которая ее представляет (т. Е. «&», «+» И т. Д.) (Хранится в виде статической переменной «stringRep»)
Есть ли способ взять строку ввода пользователя и проверить, представляет ли она выражение GenericExpression?
Если нет (кажется вероятным, что это так), есть ли способ добиться подобного эффекта с измененным дизайном?
Спасибо!
РЕДАКТИРОВАТЬ: предложено чуть более подробно выше.
Кроме того, конечная цель - иметь возможность произвольно реализовать GenericExpression и по-прежнему проверять, представляет ли строка экземпляр одного из ее подклассов. Таким образом, я не могу просто сохранить карту реализации - пары представления строк, потому что это сделает так, что GenericExpression больше не будет легко расширяемым.
Кроме того, это домашнее задание