Тема 15 Объектно-ориентированное программирование (ооп)
Основные понятия ООП.
Объект – все что представляется чувствам или уму, т.е. объект это сущность и имеет состояние во времени как следствие влияние других объектов находящихся с первым в какихто отношениях.
Объект имеет внутр. Струтуру он состоит из других объектов находящихся в отношениях
Отношения объединяют объекты и они обладают свойствами
Если отношения связывают N объектов то такое отношение называется N-местным.
Ассоциативные отношения можно представить либо в активной либо в пассивной форме
В активной форме n-местное отношение представляется программным фрагментом реализующим n-местную функцию или процедуру осуществляющую по состоянию представления объектов связываемях отношением изменения состояний некоторых из них, в пассивной форме такое отношения может быть представлено некоторой структурой данных
Пассивный объект – фрагмент информационной среды, который способен хранить данные определенного типа и с которым связан некоторый набор операций. Операции над этим объектом применяются под воздействием некоторых внешних по отношению к этом объекту активных сил, исходящих либо от пользователя, либо от программного фрагмента в процессе его выполнения (посоны сам охуел в тетради так написано)
Активный объект представляет собой расширение пассивного объекта в котором фрагмент ИС способен хранить программные фрагменты которые находятся в процессе выполнения.
Наследование.
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.
Инкапсуляция.
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Классы
Класс — это такая абстракция множества предметов реального мира, что
Предметы в этом множестве - объекты имеют одни и те же характеристики
Все объекты подчинены и согласованы с одним и тем же набором правил и линий поведений
Отношения между классами
Наследование (Генерализация) — объекты дочернего класса наследуют все свойства родительского класса.
Ассоциация — объекты классов вступают во взаимодействие между собой.
Агрегация — объекты одного класса входят в объекты другого.
Композиция — объекты одного класса входят в объекты другого и зависят друг от друга по времени жизни.
Класс-Метакласс — отношение, при котором экземплярами одного класса являются другие классы.
и списки.
спи́сок (англ. list) — это абстрактный тип данных, представляющий собой упорядоченный набор значений, в котором некоторое значение может встречаться более одного раза. Экземпляр списка является компьютерной реализацией математического понятия конечной последовательности — кортежа. Экземпляры значений, находящихся в списке, называются элементами списка (англ. item, entry либо element); если значение встречается несколько раз, каждое вхождение считается отдельным элементом.
У определённой таким образом структуры данных имеются некоторые свойства:
Размер списка — количество элементов в нём, исключая последний «нулевой» элемент, являющийся по определению пустым списком.
Тип элементов — тот самый тип , над которым строится список; все элементы в списке должны быть этого типа.
Абстракция данных.
Абстра́кция — в объектно-ориентированном программировании это придание объекту характеристик, которые четко определяют его концептуальные границы, отличая от всех других объектов. Основная идея состоит в том, чтобы отделить способ использования составных объектов данных от деталей их реализации в виде более простых объектов, подобно тому, как функциональная абстракция разделяет способ использования функции и деталей её реализации в терминах более примитивных функций, таким образом, данные обрабатываются функцией высокого уровня с помощью вызова функций низкого уровня.
Такой подход является основой объектно-ориентированного программирования. Это позволяет работать с объектами, не вдаваясь в особенности их реализации.
Абстракция данных — популярная и в общем неверно определяемая техника программирования. Фундаментальная идея состоит в разделении несущественных деталей реализации подпрограммы и характеристик существенных для корректного ее использования. Такое разделение может быть выражено через специальный «интерфейс», сосредотачивающий описание всех возможных применений программы[1].
(ну ребят это залет).
- Тема 1 Основные понятия и определения
- Тема 3 Проектирование программных продуктов.
- Основные группы методов
- Эвристические методы
- Метод итераций (последовательного приближения)
- Метод декомпозиции
- Метод контрольных вопросов
- Тема 4 Структура и формат, статические и динамические данные.
- Тема 5 Стандартизация программных продуктов
- Стандартизация программных продуктов
- Система качества пп
- Тема 6 Модульное программирование
- Тема 6 Модульное программирование
- 2. Минимизации количества передаваемых параметров
- Тема 7 Эффективность и оптимизация программ
- 1. Эффективность и технологичность. Способы экономии памяти. Способы уменьшения времени выполнения
- 2. Правила оптимизации программ
- Жертвуем памятью ради скорости
- Жертвуем скоростью ради памяти
- Логические правила
- Составление процедур
- Составление выражений
- Тема 8 Требования и спецификация качества к программных продуктов
- Тема 9 Защита программ
- Тема 10 Инструментальные средства разработки программ
- Тема 11 Коллективная разработка программных средств
- 1.1 Структура управления разработкой программных средств.
- Тема 12 Объектный подход к разработке программных продуктов
- Тема 13 Факторы надежности программных продуктов
- Тема 14 Структурное программирование программных продуктов
- Тема 15 Объектно-ориентированное программирование (ооп)
- Тема 15 Объектно-ориентированное программирование (ооп)
- Тема 16 Стиль программирования
- Тема 16 Стиль программирования
- Тема 17 Отладка, тестирование, сопровождение программ
- 2.Тестирование «белым ящиков»
- 6.Виды сопровождения и отладок пп.
- Тема 18 Экономические аспекты создания и использования программных средств
- Тема 20 Пакеты прикладных программ
- Тема 21 Язык программирования Турбо-Пролог
- Язык Пролог
- Тема 22 Списки и структуры в Прологе.
- Списки в Прологе
- Тема 23 Работа с файлами и динамическими базами данных в Прологе
- Работа с файлами
- Работа с файлами
- 3.6.3. Динамические базы данных