ППС (9) - Лекция №9 - Объектно-ориентированный подход
Перейти к навигации
Перейти к поиску
...начало
Создание сложной системы
Характеристики модуля
Чем характеризуется модуль при попытках его изменения, отладке и поиске ошибок:
- функциональная прочность. После проведения декомпозиции и разбиения модуля на несколько, его функциональность должна сохраняться;
- информационная прочность - когда данные, используемые модулем, находятся внутри самого же модуля, внешние переменные не используются;
- сцепление:
- по данным - передача данных из модуля в модуль должна быть управляемой. А лучше вообще не передавать данные от модуля к модулю;
- по общей области - избегать его всеми силами;
- по управлению;
- по формату;
- по содержимому - по общим константам. Определил однажды число $$\pi$$ длиной 5 знаков, и больше нигде его не переопределяй ни на другое значение, ни даже на другую длину;
- размер модуля - исключительно для удобства человека, чтобы модуль был обозримым.
Основы объектно-ориентированного подхода
Концепции
Фундаментальные свойства объектов:
- абстракция:
- выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, чётко определяет его концептуальные границы с точки зрения наблюдателя;
- разделяет смысл и реализацию объекта;
- выделение существенных особенностей объекта и отделения их от несущественных - барьер абстракции;
- инкапсуляция:
- реализует абстракцию, скрывая внутреннюю структуру объекта и предоставляя вовне только внешнее поведение - интерфейс;
- модульность - свойство системы, которая была разложена на внутренние связные, но слабо связанные между собой модули:
- модули выполняют роль физических контейнеров, в которые помещаются определения классов и объектов;
- позволяет хранить абстракции отдельно;
- иерархия:
- концепция наследования "обобщение-специализация" (
is-a
); - агрегация (
part of
);
- концепция наследования "обобщение-специализация" (
- наследование - один класс заимствует структурную или функциональную часть другого;
- типизация;
- полиморфизм.
продолжение...