Парадигма ООП

Post on 11-Apr-2017

52 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Парадигма объектно-ориентированного программирования.

Виталий Унгурян unguryan@itstep.org

Высказывания великих

«Объектно-ориентированное программирование — это

исключительно плохая идея, которую могли придумать только в

Калифорнии.”Эдсгер Дейкстр

один из основателей концепции структурного программирования

Парадигма

Паради́гма (от греч. παράδειγμα, «пример, модель, образец») — то система идей, взглядов и понятий, различных моделей решения множества проблем, принятых, как привило, в научном сообществе и являющихся основной методологической базой для всего мирового научного сообщества.

Парадигма

В соответствии с концепцией фон-Неймана – основателя теоретической концепции компьютерной техники, процессор обрабатывает данные, выполняя инструкции (команды), которые находятся в той же оперативной памяти, что и данные.

Парадигма

Можно выделить две основные сущности процесса обработки информации: код, как совокупность инструкций, и данные.

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

Императивное программирование

Императивное программированиепрограммы = инструкции + данные. Первыми императивными языками были машинные инструкции (коды) — команды, готовые к исполнению компьютеромПримеры функциональных языков: Ассемблер

Структурное программирование

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

Структурное программирование

Процедурное программирование

Процедурное программирование программы = данные + алгоритмы.

Разбиение задач на более мелкие.

Модульное программирование

Программы составлялись из отдельных модулей, содержащих десяток-другой процедур и функций.

программы = модули + данные.

Функциональное программирование

программы = функции + функции.

Примеры функциональных языков: Lisp, Haskel, Scala

ООП

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

Парадигма ООП

ООП рассматривает программу как совокупность фрагментов кода, обрабатывающих отдельные совокупности данных – объекты.

Подобно тому, как столяр взявший в руки молоток начинает видеть во всем окружающем только гвозди, проектировщик с объектно-ориентированным мышлением должен воспринимать весь мир в виде объектов.

Парадигма ООП

Парадигма ООП

Объекты взаимодействуютдруг с другом посредством так называемых интерфейсов.

Парадигма ООП

Интерфейс класса – это открытая часть класса доступная для

использования извне.

Закрытая часть класса, называется реализацией.

Абстракция

Центральной идеей ООП, которая связвает красной нитью все три приципа ООП является

реализация понятия "абстракция".

Абстракция

Смысл абстракции заключается в том, что сущность произвольной сложности можно рассматривать, а также производить определенные действия над ней, как над единым целым, не вдаваясь в детали внутреннего построения и функционирования.

Абстрагирование

Абстрагирование

Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения не значимые

Соответственно, абстракция — это набор всех таких характеристик.

Абстракция

Одним из основных способов создания абстракции является использованиеконцепции иерархической классификации.

Ее суть заключается в том, чтосложные системы разбиваются на более простые фрагменты.

Степень абстракции

Очень важно выбрать правильную степень

абстракции.

Степень абстракции

Слишком высокая степень даст только приблизительное описание объекта, не позволит правильно моделировать его поведение.

Степень абстракции

Слишком низкая степень абстракции сделает модель очень сложной, перегруженной деталями, и потому непригодной.

Три основные парадигмы

top related