Контекстное объектно-ориентированное программирование

Слайд 2

Философия

Свойство объекта – характеристика взаимодействия с другими объектами.

Плавучесть – взаимодействие с жидкостью

Масса

Философия Свойство объекта – характеристика взаимодействия с другими объектами. Плавучесть – взаимодействие
– кинетические взаимодействия

Цвет – с оптическими приборами

Объем – с воздухом

Слайд 3

Философия

Взаимодействие объектов происходит в рамках некоторого контекста

Плавание в воде

Игра в футбол

Накачка

Фотографирование

Философия Взаимодействие объектов происходит в рамках некоторого контекста Плавание в воде Игра в футбол Накачка Фотографирование

Слайд 4

Философия

Контекст включает в себя:
Участвующие объекты
Процесс (последовательность взаимодействий)
Явления (свойства объектов)

Процесс: плавание в воде
Объекты:

Философия Контекст включает в себя: Участвующие объекты Процесс (последовательность взаимодействий) Явления (свойства
вода, мяч
Явления: вода выталкивает мяч в соотв. с его плавучестью

Процесс: фотографирование
Объекты: фотоаппарат, мяч
Явления: фотоаппарат снимает мяч в соотв. с его цветом

Слайд 5

Философия

Одни и те же объекты могут находясь в разных контекстах проявлять разные

Философия Одни и те же объекты могут находясь в разных контекстах проявлять
наборы свойств

Плавучесть

Масса

Цвет

Объем

Слайд 6

Контекстное ООП

Классы (сущности) и отношения между ними (например is-a) определяются вне контекстов

Контекстное ООП Классы (сущности) и отношения между ними (например is-a) определяются вне
пустыми (без каких либо членов)
Контекст это конструкция языка вроде namespace
Внутри контекста определяются новые члены классов, либо импортируются из других контекстов
Члены классов, участвующие в нескольких контекстах, являются связями между контекстами
Функциям разрешено обращаться только к тем членам классов, которые присутствуют в ее контексте (контекстах)

Слайд 7

Как это представить?

При обычном ООП вся система находится в одном большом контексте

Как это представить? При обычном ООП вся система находится в одном большом
– все члены всех классов доступны всем, кто их использует

При КООП появляются «параллельные миры», в каждом из которых у одних и тех же классов разные определения. Взаимодействие между мирами – через пересекающиеся свойства классов