Реферат: Программирование, ориентированное на объекты
Независимость двух аспектов описания класса заключается в том, что существование каждого из них никак не связано с су
ванием дpугого. Если множество классообpазующих пpизнаков пусто, класс тем не менее может сущестовать как ассоциация не
pых фоpмальных объектов (символов, знаков). В пpиведенном пpи
pе фамилия - всего лишь идентификатор объекта, она не входит в состав имманентных свойств и потому не несет никакой се
кой нагрузки - мы могли бы заменить фамилию "Петров" строкой "ХХХХ", а фамилию "Штернберг" строкой "Бергштерн". Если ассо
сом, пуста, класс тем не менее семантически существует как по
ально возможное множество объектов, хотя и пустое в настоящий момент времени.
Пусть А является множеством объектов а, обладающих свойствами Р: А={a/P(A)}. Введем отношение: "is-a"-"является объектом класса" и "has-a"-"обладает свойствами". Эти отношения могут быть связаны логической связью "тогда и только тогда" (), определяющей аксиому существования класса:
_V_ a: a is-a A(P) a has-a P(A).
(Здесь _V_ - квантор общности).
P(A) включает в себя свойства двух разновидностей: "обладать чем либо" и "обладать способностью (возможностью) сделать что ли
бо". Например, "обладать цветом" ("иметь цвет" или в даль
шем просто "цвет"). Эта разновидность свойств связана с пред
нием (хранением) в памяти любого объекта индивидуального зна
ния свойства. Спецификация таких свойств называется спе
ей представления. Она определяет размер области памяти, не
димой для хранения значения свойства, и вид его интерпретации (см. да
лее). Спецификация свойств "обладания способностями" на
вается функциональной спецификацией - это описание действий (процедур, функций), которые могут выполнить объекты класса. Каж
ствие также является значением функционального свойства, кото
та. Например, функциональное свойство "известить" определяет спо
екта передавать информацию другому. Оно может иметь в качестве значений такие методы (способы) извещения, как "позвонить (по телефону)", "послать (письмо)", "приехать (лично)". Спецификация представления свойства "известить" хранит одно из трех значений (позвонить, послать, приехать), фун
дов.
Ключевым понятием для спецификации представления является по
тие элемента хранения. Например, значения свойства "возраст" могут храниться в объектной памяти в одном машинном слове (WORD) или байте (BYTE). Типы WORD и BYTE относятся к категории машинно-
ориентированных конкретных типов. Они определяют только размеры элемента хранения и оставляют программисту полную свободу для оп
деления интерпретации значения, хранящегося в таком элемен
лое со знаком, REAL - действительное число и др. Встроенность ме
тов соответствующих типов. Такие размеры могут быть определены с по