Конспект установочных лекций по комплексному курсу Информатика, Теория информации




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


Каждый метод может изменять соответствующую часть.

Инкапсуляция программных переменных в объекты с помощью атрибутов ведет, строго говоря, только к специальным правилам видимости для программных переменных.

Модульной формализации устойчивости данных можно достигнуть, например, с помощью следующих математических концепций:

·         автоматов ввода/вывода,

·         потокообрабатывающих функций,

В частности, объект можно понимать как машину состояний с входом и выходом.

Пример (описание классов для объектов с устойчивостью данных). Типичный для 00-программирования пример класса выглядит следующим образом:

class SET_CLASS = based on:            SET Attributes:          s : set data Methods:           put_empty,

              padd      param data,

                    pdelete    param data Selektors:            sisempty:   -> bool,

                    siselem:    data -> bool,

                    sany:      -> data Axioms:             put_empty = [ s := empty ],

padd(x) = [ s := add(s, x) ],

pdelete(x) s [ s := delete(s, x) ],

siselem(x) = iselem(s, x),

sisempty = isempty(s),

sany = any(s) end_of_class

Здесь речь идет о классе 00-языка программирования с последовательной моделью выполнения.

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

Пример (описание класса интерактивного объекта). Типичным для 00-программирования примером является следующее описание класса:

class INTERACTIVE_SET_CLASS = Based on:     SET State:        set data Input Channel Messages:




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