Введение в теорию программирования. Объектно-ориентированный подход



             

Изложим понятийный аппарат - часть 2


Точнее, говорят, что объект является экземпляром (instantiation) класса.

Таким образом, класс может рассматриваться как совокупность объектов (подобно тому как множество или домен есть совокупность элементов).

В рамках объектно-ориентированного подхода к программированию произвольный класс может быть элементарным либо подразделяться на подклассы (подобно тому как множество или домен подразделяется на подмножества или субдомены).

Например, более общий класс PERSON может содержать внутри себя подкласс STUDENT, который, в свою очередь, содержит конкретный объект John_Smith.

Как отмечалось во вступительной лекции, в 90-е годы В.Э. Вольфенгагеном (Vyatcheslav E. Wolfengagen) была создана так называемая двухуровневая схема концептуализации, основанная на двукратном применении постулата свертывания, до известной степени аналогичного операции ламбда-абстракции.

Рассмотрим более подробно основные аспекты данной формализации объектно-ориентированного подхода к программированию. В общих чертах схема построения модели выглядит следующим образом.

Основу модели составляет типизированный вариант ламбда-исчисления, семантика которого моделируется посредством полных и непрерывных решеток Д. Скотта.

Для описания объектов произвольной сложности вводятся аппликативные структуры с приписыванием типов. Последнее обстоятельство необходимо для формализации иерархии классов, в которые объединяются объекты.

Для формализации определений используются определенные дескрипции Скотта-Фурмана вида:

IxФ,

что означает "тот единственный объект x, для которого значение индивидуализирующей функции Ф истинно".

При таком подходе произвольный объект моделируется упорядоченной тройкой элементов вида

<концепт, индивид, состояние>,

составляющие которой соединены соотнесениями.

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

Формальная запись принципа концептуализации посредством определенных дескрипций выглядит следующим образом:

||Ix(x)Ф(x)||i = d <=> _ {d} = {d

D| ||Ф(d)||i=true}

Приведем словесную интерпретацию формулы:

Значением индивидного концепта является функция из соотнесений в индивиды.

С точки зрения рассматриваемой формальной теории, произвольный объект d предметной области D может быть единственным образом индивидуализирован посредством функции Ф (где i означает соотнесение).

Заметим, что при соотнесении общей теории с языками программирования домен D можно также интерпретировать как класс, а элемент домена d - как объект языка программирования.




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