ВУЗ:
Составители:
Рубрика:
28
Пример: физический объект – датчик скорости, устанавливаемый
на борту летательного аппарата (ЛА). Создадим его абстракцию. Для это-
го сформулируем обязанности датчика:
знать проекцию скорости ЛА в заданном направлении;
показывать текущую скорость;
подвергаться настройке.
Теперь опишем абстракцию датчика. Описание сформулируем как
спецификацию класса:
класс «ДатчикСкорости» это
поле «Скорость вещественный» ...;
поле «Направление строковый» ...;
тип «ДатчикСкорости» закрытый;
функция «НовыйДатчик»(Направление);
вернуть «ДатчикСкорости»;
функция «ТекущаяСкорость»(ДатчикСкорости)
вернуть Скорость;
процедура «Настраивать»(ДатчикСкорости;
ДействительнаяСкорость: Скорость);
класс «ДатчикСкорости».
Здесь Скорость и Направление – вспомогательные подтипы, обеспе-
чивающие задание операций абстракции (НовыйДатчик, ТекущаяСко-
рость, Настраивать). Приведённая абстракция – это только спецификация
класса датчика, настоящее его представление скрыто в приватной части
спецификации и теле класса. Класс «ДатчикСкорости» – ещё не объект.
Собственно датчики – это его экземпляры, и их нужно создать, прежде
чем с ними можно будет работать. Например, можно написать так:
ДатчикПродольнойСкорости : ДатчикСкорости;
ДатчикПоперечнойСкорости : ДатчикСкорости;
ДатчикНормальнойСкорости : ДатчикСкорости.
ИНКАПСУЛЯЦИЯ
Инкапсуляция и абстракция – взаимодополняющие понятия: абст-
ракция выделяет внешнее поведение объекта, а инкапсуляция содержит и
скрывает реализацию, которая обеспечивает это поведение. Инкапсуляция
достигается с помощью информационной закрытости. Обычно скрывают-
ся структура объектов и реализация их методов.
Инкапсуляция является процессом разделения элементов абстракции
на секции с различной видимостью. Инкапсуляция служит для отделения
интерфейса абстракции от её реализации.
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »