@BjergRub

Достоинства и недостатки ООП более детально?

Может кто-либо в достаточно простой манере более детально описать такие преимущества как :
1.Абстракция от деталей реализации
2.Данные и операции описываются вместе
3.Модульность
4.Возможность создавать расширяемые системы

И такой недостаток, как:
1.Код для обработки сообщения иногда "размазан" по многим маленьким методам

ресурс : https://sites.google.com/site/chibel117/izucenie/j...
  • Вопрос задан
  • 12432 просмотра
Пригласить эксперта
Ответы на вопрос 1
kinglostov
@kinglostov
просто lostov
Идеи ООП (Хоар, 1966, “Совместное использование кода”):
  • Инкапсуляция (объединение данных и действий над ними, или для каждого типа данных – свои функции-действия);
  • Наследование (модификация развития программы за счет надстроек; вместо изменения написаного кода – делаем над ним надстройки);
  • Организация взаимодействия между объектами; перенесение взаимодействия объектов из физического мира в программирование.
Два вида взаимодействия:
  1. Акцессорное – вступление в контакт, получение информации от объектов (синхронное взаимодействие)
  2. Событийное взаимодействие – взаимодействие, связанное с изменением состояния объекта (асинхронное взаимодействие)
Объект – конкретная реализация абстрактного типа, обладающий характеристиками состояния, поведения, индивидуальности.

Состояние – один из возможных вариантов условий существований объекта.

Поведение – описание объекта в терминах изменения его состояния и передача сообщений (данных) в процессе воздействия.

Индивидуальность – сущность объекта, отличающееся от других объектов.

Действие – деятельность или операция, которые должны быть выполнены над объектом.

Модель Мура:
  • Состоит из множества состояний, каждое состояние представляет стадию в жизненном цикле типичного экземпляра.
  • Из множества событий: каждое событие представляет собой инцидент или указание на то, что происходит эволюционирование.
  • Из (множества) правил перехода определяет какое новое состояние получает в следствие какого-нибудь события (событие может и не изменять объект)
  • Из действий – деятельность или операция который должен быть выполнены над объектом чтобы он мог достичь состояния (каждому действию соответствует состояние).
Категории объектов:
  • Реальные объекты – абстракция фактического существующего объекта реального мира.
  • Роли – абстракции цели или назначения человека, части оборудования или организации.
  • Инциденты – абстракция чего-то происшедшего или случившегося (наводнение, скачёк напряжения, выборы). -
  • Взаимодействия – объекты получаемые из отношений между другими объектами (перекресток, договор, взятка). -
  • Спецификации – используется для представления правил, критериев качества, стандартов (правила дорожного движения, распорядок дня).
Преимущества ООП:
  • Возможность легкой модификации (при грамотном анализе и проектировании)
  • Возможность отката при наличии версий
  • Более легкая расширяемость
  • «Более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку.
  • Сокращение количества межмодульных вызовов и уменьшение объемов информации, передаваемой между модулями.
  • Увеличивается показатель повторного использования кода.
Недостатки ООП:
  • Требуется другая квалификация
  • Резко увеличивается время на анализ и проектирование систем
  • Увеличение времени выполнения
  • Размер кода увеличивается :interrobang:
  • Неэффективно с точки зрения памяти (мертвый код - тот, который не используется) :interrobang:
  • Сложность распределения работ на начальном этапе
  • Себестоимость больше
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы