59 Вид деятельности присвоен код Код в классификаторе код значение Рисунок 2.3 Пример использования класса указателей Последовательный класс. Данный класс является, как следует из названия, составным объектным классом, представляющем собой последовательность элементарного класса (5 с О). Аналогично классу указателей элементарные классы, входящие в последовательный класс могут быть получены при помощи функции ЕН\ 5 —> О. Выше уже давалось определение иерархии наследования. Будем рассматривать два направления создания дочерних классов обобщение и специализацию. Иерархия наследования может быть определена как функция 1с1)1г на множестве ЛхО объектных классов, обладающая свойствами асимметрии и транзитивности. Выражение аМ/1г Ь интерпретируется как# наследует набор свойств от Ь (является наследником). Формальное описание свойств данной функции следующее: Свойство 1. (1с(/1г).Асимметрия: для любых ху х 1с7/1гу :г> не существует^ 1<1{1гх. Свойство 2.(/#у/г).Транзитивность: для любых хуу: х1с1]1гулуЫ/1г2 =>хМ(1г2 Введем также определение частною случая функции 1с1]1г функции иерархии наследования первой степени 1с7/1г\ для которой справедливо следующее правило: х 1ф-] у = х МДгу л (—13 2 х ЫДг 2 а 2 МДг у). |
I 77# случае схема отношений будет выглядеть следующим образом: Рис. 4 Схема отношения классов. Кроме описанных выше простых классов существуют некоторые специ&аьные составные классы, служащие для отражения специальных понятий, которые обычно выделяются на стадии определения множества языка моделирования. Класс указателей ((7 с О). Данный класс является составным и определяется через набор объектов элементарного класса. Объекты элементарного класса, составляющие класс указателей могут быть получены при помощи функции ЕН: (/->(). Пример использования класса указателей приведен на Рис. 5. Вид Код в указатель деятельности ------------------т--------------------классификаторе присвоен код код значение из Рис. 5 Пример использования класса указателей. Последовательный класс. Данный класс является, как следует из названия, составным объектным классом, представляющем собой последовательность элементарного класса (Л'сО). Аналогично классу указателей элементарные классы, входящие в последовательный класс могут быть получены при помощи функции Е1(: Е -+0. Выше уже давалось определение иерархии наследования. Будем рассматривать два направления создания дочерних классов обобщение и % специализацию. 78 Иерархия наследования может быть определена как функция 1(1/1 г на множестве Ах О объектных классов, обладающая свойствами асимметрии и транзитивности. Выражение а 1(1/1 г Ь интерпретируется как а наследует набор свойств от Ь (является наследником). Формальное описание свойств данной функции следующее: Свойство 1 .{/(1/1г). Асимметрия: для любых х,у х М/1г у ■=> не существует у 1(111 г х. Свойство 2.(Л//7г).Транзитивность: для любых X,у,2 х 1(1/1г у л V 1с1/1 г г => х 1(1/1 г г Введем также определение частного случая функции /с//7/* функции иерархии наследования первой степени 1(1/1г1, для которой справедливо следующее правило: 1(1/1 г1 у — х 1(1/1 г V л (-. З г \ х 1(1/1г г л 2 1(1/1 г у). Тогда можно определить Свойство 3.(1(1/1 г). Существование предков. Для всех объектов, имеющих предков, существует по крайней мере один прямой предок, или в формальной записи х 1(1/1г у ==>* !с1/1г1 у, либо 3 р, для которого справедливо [х 1(1/1г' р л р !(1/1гу] Свойство 4 (1(1/1г). Идентификационной индукции. Если К свойство класса объектов, то если для любого х, такого что у 1(1/1 г1 х, К(х) => К (у) для любого у, тогда для V .г е О существует К(х). Так как иерархия наследования является следствием обобщения или специализации, то если обозначить функцию обобщения как (7ДТУ, а функцию специализации как ПРЕС, то можно записать идентификационную иерархию объектов как набор функций обобщения и специализации. |