09.10.2007 Кафедра ОСУ, Java 2007 Слайд 1 Методология ООП В формулировке цели участвуют предметы (объекты) и понятия реального мира, имеющие отношение.

Презентация:



Advertisements
Похожие презентации
Java, каф. ОСУ АВТФ1 Методология ООП В формулировке цели выполнения некоторого проекта (например, разработка ИС) участвуют предметы (объекты)
Advertisements

Методология объектно- ориентированного программирования.
Алгоритмический подход – главное алгоритм решения задачи ( в основном, используется для вычислительных задач ); Структурное программирование – декомпозиция,
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
В. Дихтяр ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (для бакалавров) Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 1.Разработка.
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Основы объектно-ориентированного программирования (ООП)
UML МИЭМ, План лабораторной UML Краткий обзор средств моделирования Паттерны проектирования Практическая часть 2.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Типовые расчёты Растворы
Delphi. 11 класс.. Познакомиться с понятиями : Инкапсуляция Интерфейс объекта Классы, экземпляр класса Наследование, иерархия полиморфизм.
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
Объекто-ориентированное проектирование Паттерны проектирования. 28 февраля 2008 г. 4 курс Технологии программирования.
Кафедра ОСУ, Java 2004 Слайд 1 Наследование Наследование позволяет использовать существующий класс для определения новых классов, т.е. способствует.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Объектно- ориентированное программирование (ООП)
Транксрипт:

Кафедра ОСУ, Java 2007 Слайд 1 Методология ООП В формулировке цели участвуют предметы (объекты) и понятия реального мира, имеющие отношение к создаваемой системе

Кафедра ОСУ, Java 2007 Слайд 2 Методология ООП

Кафедра ОСУ, Java 2007 Слайд 3 Методология ООП При объектно-ориентированном подходе эти предметы и понятия реального мира заменяются моделями, т.е. определенными формальными конструкциями. Модель содержит не все признаки и свойства представляемого ею предмета или понятия, а только те, которые существенны для разрабатываемой программной системы.

Кафедра ОСУ, Java 2007 Слайд 4 Методология ООП Простота модели по отношению к реальному предмету позволяет сделать ее формальной. Благодаря такому характеру моделей при разработке можно четко выделить все зависимости и операции над ними в создаваемой программной системе. Это упрощает как разработку и изучение (анализ) моделей, так и их реализацию на компьютере.

Кафедра ОСУ, Java 2007 Слайд 5 Методология ООП Достоинства ООП уменьшение сложности программного обеспечения; повышение надежности программного обеспечения;

Кафедра ОСУ, Java 2007 Слайд 6 Методология ООП обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов; обеспечение возможности повторного использования отдельных компонентов программного обеспечения.

Кафедра ОСУ, Java 2007 Слайд 7 Методология ООП 5 принципов объектно- ориентированного подхода 1. Все является объектом Все данные и программы хранятся в объектах. 2. Каждый объект создается (есть средства для создания объектов), существует какое-то время, потом уничтожается.

Кафедра ОСУ, Java 2007 Слайд 8 Методология ООП 3. Программа есть группа объектов, общающихся друг с другом Кроме того, что объект хранит какие- то данные, он умеет выполнять различные операции над своими данными и возвращать результаты этих операций.

Кафедра ОСУ, Java 2007 Слайд 9 Методология ООП Теоретически эти операции выполняются как реакция на получение некоторого сообщения данным объектом. Практически это происходит при вызове метода данного объекта.

Кафедра ОСУ, Java 2007 Слайд 10 Методология ООП 4. Каждый объект имеет свою память, состоящую из других объектов и/или элементарных данных. те объект хранит некоторые данные. Эти данные это другие объекты, входящие в состав данного объекта и/или данные элементарных типов, такие как целое, вещественное, символ, и т.п.

Кафедра ОСУ, Java 2007 Слайд 11 Методология ООП 5. Каждый объект имеет свой тип (класс) Т.е. в объектно-ориентированном подходе не рассматривается возможность создания произвольного объекта, состоящего из того, например, что мы укажем в момент его создания.

Кафедра ОСУ, Java 2007 Слайд 12 Методология ООП Все объекты строго типизированы. Мы должны сначала описать (создать) тип (класс) объекта, указав в этом описании из каких элементов (полей) будут состоять объекты данного типа

Кафедра ОСУ, Java 2007 Слайд 13 Методология ООП Все объекты одного и того же типа могут получать одни и те же сообщения Кроме описания структуры данных, входящих в объекты данного типа, описание типа содержит описание всех сообщений, которые могут получать объекты данного типа (всех методов данного класса).

Кафедра ОСУ, Java 2007 Слайд 14 Методология ООП В описании типа мы должны задать не только перечень и сигнатуру сообщений данного типа, но и алгоритмы их обработки.

Кафедра ОСУ, Java 2007 Слайд 15 Методология ООП Гради Буч дает следующее определение объекта: Объект - это мыслимая или реальная сущность, обладающая характерным поведением и отличительными характеристиками и являющаяся важной в предметной области

Кафедра ОСУ, Java 2007 Слайд 16 Методология ООП Каждый объект имеет определенное время жизни. В процессе выполнения программы, или функционирования какой-либо реальной системы, могут создаваться новые объекты и уничтожаться уже существующие. Каждый объект имеет состояние, обладает четко определенным поведением и уникальной идентичностью.

Кафедра ОСУ, Java 2007 Слайд 17 Методология ООП Состояние объекта может определяться наличием или отсутствием связей между моделируемым объектом и другими объектами

Кафедра ОСУ, Java 2007 Слайд 18 Методология ООП Буч: Состояние (state) - совокупный результат поведения объекта: одно из стабильных условий, в которых объект может существовать, охарактеризованных количественно; в любой момент времени состояние объекта включает в себя перечень (обычно статический) свойств объекта и текущие значения (обычно динамические) этих свойств

Кафедра ОСУ, Java 2007 Слайд 19 Методология ООП Поведение (behavior) - действия и реакции объекта, выраженные в терминах передачи сообщений и изменения состояния; видимая извне и воспроизводимая активность объекта Уникальность (identity) - свойство объекта; то, что отличает его от других объектов

Кафедра ОСУ, Java 2007 Слайд 20 Методология ООП Класс - это шаблон поведения объектов определенного типа с заданными параметрами, определяющими состояние Все экземпляры одного класса (объекты, порожденные от одного класса) имеют один и тот же набор свойств и общее поведение, то есть одинаково реагируют на одинаковые сообщения.

Кафедра ОСУ, Java 2007 Слайд 21 Методология ООП Каждый класс также может иметь специальные методы, которые автоматически вызываются при создании и уничтожении объектов этого класса: конструктор (constructor) - выполняется при создании объектов; деструктор (destructor) - выполняется при уничтожении объектов.

Кафедра ОСУ, Java 2007 Слайд 22 Методология ООП Обычно конструктор и деструктор имеют специальный синтаксис, который может отличаться от синтаксиса, используемого для написания обычных методов класса.

Кафедра ОСУ, Java 2007 Слайд 23 Методология ООП Создание абстрактных типов данных является фундаментальным понятием во всем ООП. В большинстве объектных языках для обозначения новых типов используется слово «класс» и наоборот, те Тип и класс для нас синонимы

Кафедра ОСУ, Java 2007 Слайд 24 Методология ООП Как только определен новый класс, программист может создавать сколько угодно объектов этого класса (или, как их еще называют, экземпляров класса) и манипулировать ими так, как будто они представляют собой элементы решаемой задачи.

Кафедра ОСУ, Java 2007 Слайд 25 Методология ООП Каждый объект может исполнить только определенный запрос. Запросы, которые программист может посылать объекту, определяются его интерфейсом, и именно тип определяет интерфейс.

Кафедра ОСУ, Java 2007 Слайд 26 Методология ООП Имя типа –>Figure Интерфейс -> draw() erase() move() setColor() getColor()

Кафедра ОСУ, Java 2007 Слайд 27 Методология ООП В программе создание нового объекта и обращение к одному из запросов, входящих в интерфейс класса Figure выглядит следующим образом: Figure fg = new Figure(); fg.draw(); Структура класса

Кафедра ОСУ, Java 2007 Слайд 28 Методология ООП Инкапсуляция (encapsulation) - это механизм, который связывает код вместе с обрабатываемыми им данными и сохраняет их в безопасности как от внешнего влияния, так и от ошибочного использования. те это защитная оболочка, которая предохраняет код и данные от произвольного доступа из других кодов, определенных вне этой оболочки

Кафедра ОСУ, Java 2007 Слайд 29 Методология ООП Инкапсуляция - это сокрытие реализации класса и отделение его внутреннего представления от внешнего (интерфейса), который и обеспечивает и контролирует доступ к данным и коду внутри капсулы При использовании объектно- ориентированного подхода не принято применять прямой доступ к свойствам какого-либо класса из методов других классов.

Кафедра ОСУ, Java 2007 Слайд 30 Методология ООП Доступен только интерфейс объекта, через который осуществляется все взаимодействие с ним Для доступа к свойствам класса принято задействовать специальные методы этого класса для получения и изменения его свойств.

Кафедра ОСУ, Java 2007 Слайд 31 Методология ООП

Кафедра ОСУ, Java 2007 Слайд 32 Методология ООП Наследование (inheritance) - это отношение между классами, при котором класс использует структуру или поведение другого класса (одиночное наследование), или других (множественное наследование) классов.

Кафедра ОСУ, Java 2007 Слайд 33 Методология ООП

Кафедра ОСУ, Java 2007 Слайд 34 Методология ООП Наследование вводит иерархию "общее/частное", в которой подкласс наследует от одного или нескольких более общих суперклассов. Подклассы обычно дополняют или переопределяют унаследованную структуру и поведение. Использование наследования способствует уменьшению количества кода, созданного для описания схожих сущностей, а также способствует написанию более эффективного и гибкого кода.

Кафедра ОСУ, Java 2007 Слайд 35 Методология ООП

Кафедра ОСУ, Java 2007 Слайд 36 Методология ООП Свойство, позволяющее называть разные алгоритмические действия одним именем, называется полиморфизмом.

Кафедра ОСУ, Java 2007 Слайд 37 Методология ООП Целью полиморфизма, применительно к ООП, является использование одного имени для задания общих для класса действий.

Кафедра ОСУ, Java 2007 Слайд 38 Методология ООП Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода.повторного использования кода Общие свойства объектов объединяются в систему, которую могут называть по-разному интерфейс, класс. Общность имеет внешнее и внутреннее выражение.интерфейскласс Внешне общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (типами аргументов и результатов).сигнатурами

Кафедра ОСУ, Java 2007 Слайд 39 Методология ООП Внутренняя общность есть одинаковая функциональность методов.методов Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (функций, операций). перегрузкой

Кафедра ОСУ, Java 2007 Слайд 40 Методология ООП

Кафедра ОСУ, Java 2007 Слайд 41 Методология ООП Недостатки ООП 1. Неэффективность на этапе выполнения 2. Неэффективность в смысле распределения памяти 3. Излишняя универсальность