Объектно-ориентированное программирование



Объектно-ориентированное программирование - стр. 35


               то "дебетовать_счет" и "выдать_деньги"                    

             если сумма вносится на счет                                 

               то "кредитовать_счет"                                     

             если запрос                                                 

               то "выдать_запрос"                                        

             во всех случаях:                                            

               квитанция должна содержать  дату, время, номер счета, вид проводки, сумму проводки (если она  есть), новый баланс счета                                

Внешняя спецификация операции описывает только те изменения, которые видны вне операции. Операция может быть реализована таким образом, что при ее выполнении будут использоваться некоторые значения, определенные внутри операции (например, в целях оптимизации), некоторые из этих значений могут даже быть частью состояния объекта. Эти детали реализации операции скрыты от остальных объектов и не участвуют в определении внешнего эффекта операции. Изменения внутреннего состояния объекта, не видные вне его, не меняют значения объекта.

Все нетривиальные операции можно разделить на три категории: запросы, действия и активности. Запросом называется операция без побочных эффектов над видимым извне объекта его состоянием (чистая функция). Запрос, у которого нет параметров, кроме целевого объекта, является производным атрибутом. Например, для точки на координатной плоскости, радиус и полярный угол - производные атрибуты; из этого примера видно, что между основными и производными атрибутами нет принципиальной разницы, и выбор основных атрибутов во многом случаен.

Действием называется операция, имеющая побочные эффекты, которые могут влиять на целевой объект и на другие объекты системы, которые достижимы из целевого объекта. Действие не занимает времени (логически, оно совершается мгновенно).


Содержание  Назад  Вперед