Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемСветлана Охромеева
1 Java, каф. ОСУ АВТФ1 Методология ООП В формулировке цели выполнения некоторого проекта (например, разработка ИС) участвуют предметы (объекты) и понятия реального мира, имеющие отношение к создаваемой системе Разработал к.т.н. Фофанов О.Б.
2 Java, каф. ОСУ АВТФ2 Методология ООП При объектно-ориентированном подходе эти предметы и понятия реального мира заменяются моделями, т.е. определенными формальными конструкциями. Модель содержит не все признаки и свойства представляемого ею предмета или понятия, а только те, которые существенны для разрабатываемой программной системы.
3 Java, каф. ОСУ АВТФ3 Методология ООП Простота модели по отношению к реальному предмету позволяет сделать ее формальной. Благодаря такому характеру моделей при разработке можно четко выделить все зависимости и операции над ними в создаваемой программной системе. Это упрощает как разработку и изучение (анализ) моделей, так и их реализацию на компьютере.
4 Java, каф. ОСУ АВТФ4 Методология ООП
5 Java, каф. ОСУ АВТФ5 Методология ООП Достоинства ООП уменьшение сложности программного обеспечения; повышение надежности программного обеспечения;
6 Java, каф. ОСУ АВТФ6 Методология ООП обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов; обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
7 Java, каф. ОСУ АВТФ7 Методология ООП 5 принципов объектно- ориентированного подхода 1.Все является объектом Все данные и программы хранятся в объектах. 2. Каждый объект создается (есть средства для создания объектов), существует какое-то время, потом уничтожается.
8 Java, каф. ОСУ АВТФ8 Методология ООП 3. Программа есть группа объектов, общающихся друг с другом Кроме того, что объект хранит какие- то данные, он умеет выполнять различные операции над своими данными и возвращать результаты этих операций.
9 Java, каф. ОСУ АВТФ9 Методология ООП Теоретически эти операции выполняются как реакция на получение некоторого сообщения данным объектом. Практически это происходит при вызове метода данного объекта.
10 Java, каф. ОСУ АВТФ10 Методология ООП 4. Каждый объект имеет свою память, состоящую из других объектов и/или элементарных данных. те объект хранит некоторые данные.
11 Java, каф. ОСУ АВТФ11 Методология ООП 5.Каждый объект имеет свой тип (класс) Т.е. в объектно-ориентированном подходе не рассматривается возможность создания произвольного объекта, состоящего из того, например, что мы укажем в момент его создания.
12 Java, каф. ОСУ АВТФ12 Методология ООП Все объекты строго типизированы. Мы должны сначала описать (создать) тип (класс) объекта, указав в этом описании из каких элементов (полей) будут состоять объекты данного типа
13 Java, каф. ОСУ АВТФ13 Методология ООП Все объекты одного и того же типа могут получать одни и те же сообщения Кроме описания структуры данных, входящих в объекты данного типа, описание типа содержит описание всех сообщений, которые могут получать объекты данного типа (всех методов данного класса).
14 Java, каф. ОСУ АВТФ14 Методология ООП Гради Буч дает следующее определение объекта: Объект - это мыслимая или реальная сущность, обладающая характерным поведением и отличительными характеристиками и являющаяся важной в предметной области "Объектно-ориентированный анализ и проектирование". языки объектно-ориентированного моделирования
15 Java, каф. ОСУ АВТФ15 Методология ООП Каждый объект имеет определенное время жизни. В процессе выполнения программы, или функционирования какой-либо реальной системы, могут создаваться новые объекты и уничтожаться уже существующие. Каждый объект имеет состояние, обладает четко определенным поведением и уникальной идентичностью.
16 Java, каф. ОСУ АВТФ16 Методология ООП Буч: Состояние (state) - совокупный результат поведения объекта: одно из стабильных условий, в которых объект может существовать, охарактеризованных количественно; в любой момент времени состояние объекта включает в себя перечень (обычно статический) свойств объекта и текущие значения (обычно динамические) этих свойств
17 Java, каф. ОСУ АВТФ17 Методология ООП Поведение (behavior) - действия и реакции объекта, выраженные в терминах передачи сообщений и изменения состояния; видимая извне и воспроизводимая активность объекта Уникальность (identity) - свойство объекта; то, что отличает его от других объектов
18 Java, каф. ОСУ АВТФ18 Методология ООП Класс - это шаблон поведения объектов определенного типа с заданными параметрами, определяющими состояние Все экземпляры одного класса (объекты, порожденные от одного класса) имеют один и тот же набор свойств и общее поведение, то есть одинаково реагируют на одинаковые сообщения.
19 Java, каф. ОСУ АВТФ19 Методология ООП Каждый класс также может иметь специальные методы, которые вызываются при создании и уничтожении объектов этого класса: конструктор (constructor) - выполняется при создании объектов; деструктор (destructor) - выполняется при уничтожении объектов.
20 Java, каф. ОСУ АВТФ20 Методология ООП Обычно конструктор и деструктор имеют специальный синтаксис, который может отличаться от синтаксиса, используемого для написания обычных методов класса.
21 Java, каф. ОСУ АВТФ21 Методология ООП Создание абстрактных типов данных является фундаментальным понятием во всем ООП. В большинстве объектных языках для обозначения новых типов используется слово «класс» и наоборот, те Тип и класс для нас синонимы
22 Java, каф. ОСУ АВТФ22 Методология ООП Как только определен новый класс, программист может создавать сколько угодно объектов этого класса (или, как их еще называют, экземпляров класса) и манипулировать ими так, как будто они представляют собой элементы решаемой задачи.
23 Java, каф. ОСУ АВТФ23 Методология ООП Каждый объект может исполнить только определенный запрос. Запросы, которые программист может посылать объекту, определяются его интерфейсом, и именно тип (класс) определяет интерфейс.
24 Java, каф. ОСУ АВТФ24 Методология ООП Имя типа –>Figure Интерфейс -> draw() erase() move() setColor() getColor()
25 Java, каф. ОСУ АВТФ25 Методология ООП В программе создание нового объекта и обращение к одному из запросов, входящих в интерфейс класса Figure выглядит следующим образом: Figure fg = new Figure(); fg.draw(); Структура класса
26 Java, каф. ОСУ АВТФ26 Методология ООП Инкапсуляция (encapsulation) - это механизм, который связывает код вместе с обрабатываемыми им данными и сохраняет их в безопасности как от внешнего влияния, так и от ошибочного использования. те это защитная оболочка, которая предохраняет код и данные от произвольного доступа из других кодов, определенных вне этой оболочки
27 Java, каф. ОСУ АВТФ27 Методология ООП Инкапсуляция - это сокрытие реализации класса и отделение его внутреннего представления от внешнего (интерфейса), который и обеспечивает и контролирует доступ к данным и коду внутри капсулы При использовании объектно- ориентированного подхода не принято применять прямой доступ к свойствам какого-либо класса из методов других классов.
28 Java, каф. ОСУ АВТФ28 Методология ООП Доступен только интерфейс объекта, через который осуществляется все взаимодействие с ним Для доступа к свойствам класса принято задействовать специальные методы этого класса для получения и изменения его свойств.
29 Java, каф. ОСУ АВТФ29 Методология ООП
30 Java, каф. ОСУ АВТФ30 Методология ООП Наследование (inheritance) - это отношение между классами, при котором класс использует структуру или поведение другого класса (одиночное наследование), или других (множественное наследование) классов.
31 Java, каф. ОСУ АВТФ31 Методология ООП
32 Java, каф. ОСУ АВТФ32 Методология ООП Наследование вводит иерархию "общее/частное", в которой подкласс наследует от одного или нескольких более общих суперклассов их свойства и методы. Подклассы обычно дополняют или переопределяют унаследованную структуру и поведение. Использование наследования способствует уменьшению количества кода, созданного для описания схожих сущностей, а также способствует написанию более эффективного и гибкого кода.
33 Java, каф. ОСУ АВТФ33 Методология ООП
34 Java, каф. ОСУ АВТФ34 Методология ООП Свойство, позволяющее называть разные алгоритмические действия одним именем, называется полиморфизмом.
35 Java, каф. ОСУ АВТФ35 Методология ООП Целью полиморфизма, применительно к ООП, является использование одного имени для задания общих для класса действий.
36 Java, каф. ОСУ АВТФ36 Методология ООП Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода.повторного использования кода Общие свойства объектов объединяются в систему, которую могут называть по-разному интерфейс, класс. Общность имеет внешнее и внутреннее выражение.интерфейскласс Внешне общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (типами аргументов и результатов).сигнатурами
37 Java, каф. ОСУ АВТФ37 Методология ООП Внутренняя общность есть одинаковая функциональность методов.методов Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (функций, операций). перегрузкой
38 Java, каф. ОСУ АВТФ38 Методология ООП Между классами существуют три обычных отношения. Зависимость ("использует") (dependence "uses-a") Агрегирование ("содержит") (aggregation "has-a") Наследование ("является") (inheritance "is-a")
39 Java, каф. ОСУ АВТФ39 Методология ООП Описание отношения между классами - UML (Unified Modeling Language) для изображения диаграмм классов (class diagrams). классы изображаются с помощью прямоугольников, а отношения между ними различными стрелками.
40 Java, каф. ОСУ АВТФ40 Методология ООП пример
41 Java, каф. ОСУ АВТФ41 Методология ООП
42 Java, каф. ОСУ АВТФ42 Методология ООП Недостатки ООП 1.Неэффективность на этапе выполнения 2.Неэффективность в смысле распределения памяти 3.Излишняя универсальность
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.