ППС (9) - Лекция №9 - Объектно-ориентированный подход: различия между версиями
Перейти к навигации
Перейти к поиску
ILobster (обсуждение | вклад) (Новая страница: «{{Backward|l=ППС (9) - Лекция №8 - Проблема сложности программных систем (продолжение)}} == Создан...») |
ILobster (обсуждение | вклад) м (→Концепции) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 37: | Строка 37: | ||
* полиморфизм. | * полиморфизм. | ||
{{Forward|l=ППС(9) - Лекция №10}} | {{Forward|l=ППС (9) - Лекция №10 - ООП в ППС}} | ||
[[Категория:Проектирование программных систем (9 семестр)]] | [[Категория:Проектирование программных систем (9 семестр)]] | ||
[[Категория:Конспекты лекций и семинаров]] | [[Категория:Конспекты лекций и семинаров]] |
Текущая версия от 21:40, 27 ноября 2012
...начало
Создание сложной системы
Характеристики модуля
Чем характеризуется модуль при попытках его изменения, отладке и поиске ошибок:
- функциональная прочность. После проведения декомпозиции и разбиения модуля на несколько, его функциональность должна сохраняться;
- информационная прочность - когда данные, используемые модулем, находятся внутри самого же модуля, внешние переменные не используются;
- сцепление:
- по данным - передача данных из модуля в модуль должна быть управляемой. А лучше вообще не передавать данные от модуля к модулю;
- по общей области - избегать его всеми силами;
- по управлению;
- по формату;
- по содержимому - по общим константам. Определил однажды число $$\pi$$ длиной 5 знаков, и больше нигде его не переопределяй ни на другое значение, ни даже на другую длину;
- размер модуля - исключительно для удобства человека, чтобы модуль был обозримым.
Основы объектно-ориентированного подхода
Концепции
Фундаментальные свойства объектов:
- абстракция:
- выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, чётко определяет его концептуальные границы с точки зрения наблюдателя;
- разделяет смысл и реализацию объекта;
- выделение существенных особенностей объекта и отделения их от несущественных - барьер абстракции;
- инкапсуляция:
- реализует абстракцию, скрывая внутреннюю структуру объекта и предоставляя вовне только внешнее поведение - интерфейс;
- модульность - свойство системы, которая была разложена на внутренние связные, но слабо связанные между собой модули:
- модули выполняют роль физических контейнеров, в которые помещаются определения классов и объектов;
- позволяет хранить абстракции отдельно;
- иерархия:
- концепция наследования "обобщение-специализация" (
is-a
); - агрегация (
part of
);
- концепция наследования "обобщение-специализация" (
- наследование - один класс заимствует структурную или функциональную часть другого;
- типизация;
- полиморфизм.
продолжение...