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



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


При единственном наследовании один класс наследует свойства самое большее от одного из классов. При множественном наследовании один класс наследует свойства от нескольких других классов.

Наследование означает, что все атрибуты и методы одного класса имеются в распоряжении и класса-наследника. Во многих ЯП наследуемые методы могут быть объявлены заново. Однако обычно требуется, чтобы синтаксический интерфейс при этом не изменялся.

Далее даются простые примеры классов и 00-концепций, чтобы разъяснить эти понятия.

Алгебраические спецификации, как спецификация POOL в разд. 5.1.2, описывают вычислительные структуры. Подкласс алгебраической спецификации можно образовать следующим образом:

spec QUEUE =

import POOL,

sort bool, data, queue data,

subsort queue data inherits from set data,

fct deq ==  ( queue data ) queue data,

fct next = ( queue data ) data Axioms:

deq(add(empty, e)) = empty,

next(add(empty, e)) = e,

deq(add(add(q, d), e)) = add(deq(add(q, d)), e),       ~

next(add(add(q, d), e) = next(add(q, d)) end_of_spec spec QUEUE 1 =

sort bool, data, queuel data,

subsort queuel data inherits from queue data Axioms:

any(s) = next(s) end_pf_spec

Переменная v типа var queue data может принимать значения типа queue data или типа queuel data. Тем самым результат вызова any(v) будет зависеть от типа переменной v. Если значение v имеет тип

queuel data, то вызов any(v) соответствует вызову next(v), в противном случае - нет. Тогда говорится о полиморфизме

и о динамическом связывании

(англ. late binding).

Как правило, объекты имеют состояния, которые определяются значениями их атрибутов. Это ведет к понятию устойчивости,

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

Атрибуты в качестве значений могут содержать также ссылки на объекты. Это определяет структуру связей между объектами.

Операционно можно смоделировать устойчивость посредством спецификации большого глобального пространства состояний, в котором состояния отдельных объектов содержатся как частичные состояния.


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