OpenU.Ru
Реализация операции. Описывает алгоритм или процедуру, которая формирует результаты
операции.
См. concrete; operation;
realization.
Семантика
Метод является реализацией операции. Если операция не абстрактна, то у нее
должен быть метод или событие вызова, либо определенные в классе, которому принадлежит
операция, либо унаследованные от предка. Метод представляет собой выражение
процедуры - фрагмент текста на определенном языке (C++, Smalltalk или естественном
языке), описывающий алгоритм. Конечно же, язык следует выбирать с учетом конкретной
цели - так, естественный язык подходит только на ранних стадиях анализа, а не
для создания программного кода.
Объявление операции подразумевает наличие метода (если только операция не объявлена
абстрактной). В иерархии обобщения каждое повторяемое объявление операции должно
иметь новый метод, который будет подменять собой унаследованный. Если сигнатуры
двух объявлений совпадают, значит, они представляют собой одну и ту же операцию.
Следует отметить, что метод - это выполняемая процедура (алгоритм), а не просто
спецификация результатов операции. Так, например, спецификация типа до-и-после
не является методом. Метод тесно связан с реализацией в программном коде, он
связан с проблемами алгоритмизации, вычислений и инкапсуляции.
С определенной точки зрения, у метода могут быть более строгие свойства, нежели
у операции. Метод может являться запросом даже в том случае, когда операция
запросом не является. Однако если запросом является операция, то метод обязан
также быть запросом. Метод может усиливать свойство параллелизма. Последовательную
операцию можно реализовать В виде параллельного, метода или метода, у которого
есть сторожевое условие. В этих случаях он будет соответствовать объявлениям
операции, так как лишь усиливает ограничения.
Нотация
На наличие метода указывает объявление операции, у которой нет свойства абстрактности
(рис. 124). Если операция наследуется, то наличие метода можно изобразить, повторив
объявления операции обычным шрифтом (не курсивом), чтобы подчеркнуть ее конкретность.
Текст метода находится в примечании, прикрепленном к элементу списка операций.
Впрочем, обычно текст метода на диаграммах вообще не указывают - он пребывает
в скрытом виде и появляется только по запросу.
Рис. 124. Метод для неабстрактной операции