Существует interface Algorithm
Существует class MathAlgorythm implements Algorithm
(returns MathResult, which implements Result
)
Существует class ChemitryAlgorythm implements Algorithm
(returns ChemitryResult, which implements Result
)
Кроме того, существует Context class
, который используется для передачи данных этим алгоритмам. Данные передаются следующим образом:
public Result executeStrategy(Data data) {
return algo.execute(data);
}
Предположим, я выполнюStrategy и вернусь return MathAlgorithm.execute(data);
Я получаю что-то типа Result, верно?
Затем я выполняю return ChemitryAlgorithm.execute(data);
снова, я получаю что-то. Результат
Вопрос: Результатом является интерфейс. Мне нужно получить доступ к конкретной реализации класса как MathResult или ChemistryResult. Другими словами. Как только я получаю что-то типа Result, мне нужно копнуть глубже и узнать, какой класс скрывается за интерфейсом.
Надеюсь, эта бессвязность не слишком сбивает с толку.
Спасибо, что прочитали и ответили
algorithm
сi
. - person BalusC   schedule 30.12.2010