Программирование Скачать
презентацию
<<  Прикладная среда Объект объектно-ориентированного программирования  >>
Полиморфизм (polymorphism)
Полиморфизм (polymorphism)
Фото из презентации «Объектно-ориентированное программирование» к уроку информатики на тему «Программирование»

Автор: Обабков И.Н.. Чтобы познакомиться с фотографией в полном размере, нажмите на её эскиз. Чтобы можно было использовать все фотографии на уроке информатики, скачайте бесплатно презентацию «Объектно-ориентированное программирование» со всеми фотографиями в zip-архиве размером 259 КБ.

Скачать презентацию

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

содержание презентации «Объектно-ориентированное программирование»
Сл Текст Эф Сл Текст Эф
1Основы объектно-ориентированного программирования.0 19отношений над объектами. 19.0
Введение. 2008 г. Лекция 1. 1. 20Инкапсуляция наследование полиморфизм. Парадигмы0
2Содержание. Этапы развития программирования0 ООП: 20.
Программная инженерия Фундаментальные понятия ООП Этапы 21Инкапсуляция (encapsulation). - это объединение0
разработки программ с использованием ООП производного типа данных с набором функций,
Основополагающие концепции ООП Инкапсуляция используемых при работе с этим типом данных, в единый
Наследование Полиморфизм Объекты Анатомия класса класс. Функции, включенные в класс, называют методами
Управление доступом к элементам класса Объявление класса Данные – элементами или полями класса,
класса в программе. Пример1. «Класс TPerson» Конкретные представители класса – объекты, экземпляры.
Контрольные вопросы Мини-тест Список литературы. 2. Класс (объект) - это то, что поддерживает инкапсуляцию
3Этапы развития программирования. Технология0 Инкапсуляция позволяет сделать класс «самодостаточным»
программирования – это система методов, способов и для решения конкретной задачи. Класс всегда несет в
приемов обработки и выдачи информации. Написание себе некоторую функциональность. Это мощное средство
программ в машинных кодах Появление языков низкого обмена готовыми к работе программными заготовками. 21.
уровня Языки высокого уровня. Технология нисходящего 22Инкапсуляция и ограничение доступа к данным.0
структурного программирования Появление ООП. 3. Инкапсуляция предполагает возможность ограничения
4Предпосылки и история. Первый кризис0 доступа к данным (полям) класса. Это позволяет
программирования Повторное использование кода Модульное упростить интерфейс класса, показав наиболее
программирование Рост сложности программ Структурное существенные для внешнего пользователя данные и методы.
программирование Модификация программ обеспечить возможность внесения изменений в реализацию
Объектно-ориентированное программирование Продолжение класса без изменения других классов (важно для
кризиса программирования. 4. дальнейшего сопровождения и модернизации программного
5Повторное использование кода. Проблема Дублирование0 кода). При сокрытии полей объекта доступ к ним
фрагментов кода Модульное программирование Выделение осуществляется только посредством методов класса. Это
фрагментов в модули Повторное использование модулей защищает данные от внешнего вмешательства или
Создание библиотек модулей. 5. неправильного использования. 22.
6Рост сложности программ. Проблема Сложные0 23Инкапсуляция. 23.0
программные комплексы Объем кода, к-во связей, к-во 24Управление доступом. Ключи доступа private -0
разработчиков, к-во пользователей Жизненный цикл: элементы данных могут использоваться только
стадии внедрения и сопровождения Структурное функциями-методами класса, к которому принадлежат эти
программирование «Правильное» проектирование и элементы данных public - элементы данных могут
кодирование Основные принципы: Нисходящее использоваться любыми функциями программы protected -
проектирование Применение специальных языков элементы данных могут использоваться функциями-методами
проектирования Дисциплина проектирования и разработки: того же класса, к которому принадлежат эти элементы
планирование и документирование проекта поддержка данных, а также функциями- методами производных классов
соответствие кода проектной документации Структурное (классов-потомков) По умолчанию ключ доступа private.
кодирование (линейный блок, If-then-else, цикл). 6. Т.е. если ключи доступа не указаны, то все элементы
7Модификация программ. Проблема изменения в проекте0 класса являются скрытыми (недоступными). Попытка
и программе без изменения ранее написанного кода обратиться в программе к скрытым данным или методам
Объектно-ориентированное программирование Класс – вызывает сообщение: <имя элемента класса> is not
модуль со свойствами, поведением, обязанностями accessible. 24.
Парадигмы ООП: Инкапсуляция и сокрытие деталей 25Наследование (inheritance). - это возможность0
Наследование Полиморфизм. Зарплата. Отдел 1. Отдел 2. определять новые классы посредством добавления полей,
Отдел 3. Зарплата. Зарплата 1. Отдел 1. Отдел 2. Отдел свойств и методов к уже существующим классам. Такой
3. 7. механизм получения новых классов называется
8Некоторые итоги. Главная цель программной инженерии0 порождением. При этом новый, порожденный, класс
- сокращение стоимости ПО Сформировались основные (потомок) наследует все поля, методы и свойства своего
принципы и методы проектирования ПО: Жизненный цикл ПО базового, родительского класса. Наследование
Модульное программирование Структурное проектирование и поддерживает концепцию иерархии классов (hierarchical
программирование Объектно-ориентированное classification). Применение иерархии классов делает
проектирование и программирование. 8. управляемыми большие потоки информации. Наследование
9Продолжение кризиса. Кризис программирования0 обеспечивает поэтапное создание сложных классов и
принимает хронические формы: США тратит более $200 разработку собственных библиотек классов. 25.
млрд. на более чем 170 тыс. проектов потери от 26Полиморфизм (polymorphism). 26.0
недополученного эффекта измеряются триллионами. 27Полиморфизм (polymorphism). Это возможность0
Успешные проекты не часты (30000 проектов). Источник: заменить в классе потомке метод класса родителя,
The Standish Group International, Inc., Extreme Chaos, сохранив при этом имя метода. Это свойство классов
2000 решать схожие по смыслу проблемы разными способами.
http://www1.standishgroup.com//sample_research/PDFpages Цель полиморфизма - использование одного имени для
extreme_chaos.pdf. 9. задания общих для класса действий. Для изменения метода
10Определения. Программная инженерия – это0 необходимо перекрыть его в потомке, т.е. объявить в
установление и использование обоснованных инженерных потомке одноименный метод и реализовать в нем нужные
принципов (методов) для экономного получения ПО, действия. В результате объекте-родителе и
которое надежно и работает на реальных машинах. [Bauer объекте-потомке будут действовать два одноименных
1972]. та форма инженерии, которая применяет принципы метода, имеющие разную алгоритмическую основу.
информатики (computer science) и математики для Концепция полиморфизма - идея «один интерфейс -
рентабельного решения проблем ПО. [CMU/SEI-90-TR-003] множество методов». Полиморфизм позволяет
применение систематического, дисциплинированного, манипулировать объектами различной степени сложности
измеряемого подхода к разработке, использованию и путем создания общего для них стандартного интерфейса
сопровождению ПО [IEEE 1990]. дисциплина, целью которой для реализации похожих действий. 27.
является создание качественного ПО, которое завершается 28Описание класса в Delphi. type < имя класса >0
вовремя, не превышает выделенных бюджетных средств и = class(< имя класса-родителя >) public <
удовлетворяет выдвигаемым требованиям [Schach, 99]. 10. описание общедоступных элементов > published <
11Абстрактные и реальные объекты. Абстрактный объект0 описание элементов, доступных в Инспекторе Объектов
это описание реального объекта минус подробности Пример > protected < описание элементов, доступных в
1: Абстрактные человек-это описание человека, которое классах-потомках > private < описание элементов,
содержит атрибуты и варианты поведения: Имя Фамилия доступных только в модуле > end; 28.
Рост Вес Реальный человек определяет значения 29Пример описания класса. TControl =0
атрибутов: Майкл Джексон 180 см 80 кг. Пример 2: class(TComponent) private FOnDblClick: TNotifyEvent;
формочки для печенья. 11. FOnHouseDown: TMouseEvent; FOnHouseHove:
12Почему объекты? Фокусирование на объектах упрощает0 TMouseMoveEvent; protected property OnDblClick:
для нас понимание сложных вещей. Уделяем внимание лишь TNotifyEvent read FOnDblClick write FOnDblClick;
важным аспектам Пример : преподаватель - студент. 12. property OnMouseDown: TMouseEvent read FOnMouseDown
13Объекты в деловом мире. Бизнес процесс: Заказ13 write FOnMouseDown; property OnMouseMove:
товара. Объекты: Форма заказа Список товаров Товарная TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
накладная Ордер на отгрузку Метка отгрузки. Поведение: end; 29.
Ввод информации Изменение информации Удаление 30Пример описания класса. type TStudent = class FAge0
информации Отображение формы Обработка заказа Отмена : integer; function GetAge : integer; procedure
заказа. 13. SetAge(Value : integer); property Age : integer read
14Класс и Объект Класс - принципиально новый тип0 GetAge write SetAge; end; 30.
данных. Класс представляет собой множество объектов 31Пример 1. Объявление класса в программе. Постановка0
имеющих общую структуру обладающих одинаковым задачи. Пусть необходимо создать класс, описывающий
поведением. Класс является дальнейшим развитием типа некоторые характеристики человека. Будем хранить о
структура (запись). Концепция. 14. человеке следующие данные: фио, рост в cм, вес в кг.
15Концепция. Объект является представителем0 Для работы с этими данными предусмотрим следующие
(экземпляром) какого-либо класса. Объект обладает методы: методы инициализации полей (названия таких
состоянием поведением идентичностью. Состояние объекта методов имеют префикс Set); назначение этих методов -
характеризуется набором его свойств (атрибутов) присваивать новые значения полям класса; новые значения
текущими значениями каждого из этих свойств. Поведение полей будут предаваться через параметры
объекта - выполнения определенной последовательности функций-методов; метод, позволяющий получить информацию
характерных для него действий. Идентичность объекта – о текущем состоянии объекта (значении всех его полей).
это свойство (или набор свойств) объекта, которое 31.
позволяет отличить его от всех прочих объектов того же 32Пример 1. Объявление класса в программе.0
типа (класса). 15. Программная реализация. #Include <stdio.H>
16Класс простое объяснение. Класс – это шаблон0 #include <string.H> //описание структуры класса
который определяет атрибуты и методы реального мира. class tperson { private: char fname[15]; int frost;
Пример: форма для печенья в виде буквы «А» - это не float fwes; public: char * show() ; void setname (char*
буква А, она лишь определяет , как буква А выглядит. value); void setrost (int value); void setwes (float
Если вам необходим объект, представляемый классом, value); } ; 32.
создаете экземпляр. Каждый экземпляр содержит те же 33Пример 1. Объявление класса в программе. Реализация0
самые атрибуты и методы, которые определены в классе. У методов класса. //реализация методов класса char*
каждого экземпляра своя копия. Метод – поведение TPerson::Show() {static char S[100]; sprintf
объекта. (опять про печенье, но в форме собаки). 16. (S,"Это %s; его рост - %d см, вес - %3.2f
17Этапы разработки программ с использованием ООП. ООП0 кг", fname, frost, fwes); return S; } void
представляет собой систематизированный подход к TPerson::SetName(char* value) { strcpy(fname,value);
алгоритмической формализации сложных предметных return; } void TPerson::SetRost(int value) {
областей. ООП предполагает этапы разработки программ: frost=value; return; } void TPerson::SetWes(float
Первый этап: абстрагирование Второй этап: инкапсуляция value) { fwes=value; return; }. 33.
Третий этап: модульность Четвертый этап: иерархия. 17. 34Итоги Контрольные вопросы. Перечислите основные0
18Этапы разработки программ с использованием ООП.0 этапы развития технологии программирования. Определите
Абстрагирование Выделение абстракций. Это - анализ понятие и назначение класса Определите понятие и
предметной области, для которой составляется программа, характеристики объекта Перечислите и охарактеризуйте
с целью определения основных объектов этой предметной этапы разработки программ с использованием ООП Назовите
области, их свойств, отношений между объектами, и охарактеризуйте основные концепции ООП Из каких
возможных операций над объектами или их составляющими. элементов состоит класс? Как ограничить доступ к
Различие: Процедурное программирование нацелено на составляющим класса? 34.
моделирование действий, выполняемых компьютером. ООП 35Вопрос 1. 1. Что такое класс? Это модуль,0
нацелено на моделирование предметной области решаемой сохраненный в файле Это функция Это библиотека Это тип
задачи. 18. данных Это специальная программа. 35.
19Этапы разработки программ с использованием ООП.0 36Вопрос 2. 2. Что такое методы класса? Это0
Инкапсуляция Типизация объектов и синтез абстрактных инкапсулированные в классе данные Это функции для
типов данных. Определение новых типов данных и наборов работы с полями класса Это специальные функции в
специфических функций и операций, применяемых к этим составе ОС Windows. 36.
типам данных. Модульность Объектная декомпозиция. 37Вопрос 3. 2. Что такое полиморфизм? Это0
Выделение подтипов (подобъектов) для каждого из типов и переключатель Это спец.функция для работы с полями
их составляющих. Иерархия Композиционная иерархизация класса Это одно имя – разный функционал. 37.
объектов. Т.е. выделение родовитых и композиционных 3838.0
38 «Объектно-ориентированное программирование» | Объектно-ориентированное программирование 13
http://900igr.net/fotografii/informatika/Obektno-orientirovannoe-programmirovanie/Obektno-orientirovannoe-programmirovanie.html
cсылка на страницу
Урок

Информатика

126 тем
Фото
Презентация: Объектно-ориентированное программирование | Тема: Программирование | Урок: Информатика | Вид: Фото
900igr.net > Презентации по информатике > Программирование > Объектно-ориентированное программирование