Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Оценка 4.6
Лекции +1
ppt
информатика
Взрослым
31.03.2017
В презентации приведены основные теоретические сведения об основах объектно-ориентированного программирования, о его 3 принципах: инкапсуляция, наследование и полиморфизм. Даны определения основным терминам, относящимся к ООП, таким как классы, объекты и тд. Приводятся примеры. В конце студентам дается мини тест для закрепления нового материала.Тип файла - презентация в программе Microsoft Office Power Point.
Лекция - Основы объектно-ориентированного программирования 2.ppt
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Лекци
я
Основы
объектно-
ориентированного
программирования
2016 г
1
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Содержание
• Этапы развития программирования
• Программная инженерия
• Фундаментальные понятия ООП
• Этапы разработки программ с использованием ООП
• Основополагающие концепции ООП
• Инкапсуляция
• Наследование
• Полиморфизм
• Объекты
• Анатомия класса
• Управление доступом к элементам класса
• Объявление класса в программе. Пример1. «Класс TPerson»
• Контрольные вопросы
• Мини-тест
2
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Этапы развития
программирования
Технология программирования – это
система методов, способов и приемов
обработки и выдачи информации.
• Написание программ в машинных кодах
• Появление языков низкого уровня
• Языки высокого уровня. Технология
нисходящего структурного
программирования
• Появление ООП
3
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Предпосылки и
история
программирования
• Первый кризис
• Повторное использование кода
• Рост сложности программ
• Модификация программ
– Структурное программирование
– Модульное программирование
– Объектно-ориентированное
• Продолжение кризиса
программирование
программирования
4
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Повторное
использование кода
• Проблема
–Дублирование фрагментов кода
• Модульное программирование
–Выделение фрагментов в модули
–Повторное использование
модулей
–Создание библиотек модулей
5
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Рост сложности
программ
• Проблема
– Сложные программные комплексы
• Объем кода, к-во связей, к-во разработчиков, к-во
пользователей
– Жизненный цикл: стадии внедрения и сопровождения
• Структурное программирование
– «Правильное» проектирование и кодирование
– Основные принципы:
• Нисходящее проектирование
• Применение специальных языков проектирования
• Дисциплина проектирования и разработки:
– планирование и документирование проекта
– поддержка соответствие кода проектной
документации
• Структурное кодирование (линейный блок, If-then-else,
цикл)
6
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Модификация
программ
Зарплата
• Проблема
– изменения в проекте и
программе без изменения
ранее написанного кода
• Объектно-ориентированное
программирование
– Класс – модуль со
свойствами, поведением,
обязанностями
– Парадигмы ООП:
деталей
• Инкапсуляция и сокрытие
• Наследование
• Полиморфизм
Отдел 1
Отдел 2
Отдел 3
Зарплата
Зарплата 1
Отдел 1
Отдел 2
Отдел 3
7
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Некоторые итоги
• Главная цель программной инженерии
• Сформировались основные принципы
- сокращение стоимости ПО
и методы проектирования ПО:
– Жизненный цикл ПО
– Модульное программирование
– Структурное проектирование и
– Объектно-ориентированное
программирование
проектирование и программирование
8
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Продолжение кризиса
• Кризис программирования принимает хронические формы:
– США тратит более $200 млрд. на более чем 170 тыс. проектов
– потери от недополученного эффекта измеряются
триллионами.
• Успешные проекты не часты (30000 проектов)
Проваленные
Проблемные
Успешные
2000
1998
1995
1994
23%
28%
40%
31%
49%
46%
33%
53%
28%
26%
27%
16%
Источник: The Standish Group International, Inc., Extreme Chaos, 2000
http://www1.standishgroup.com//sample_research/PDFpages/extreme_chaos.pdf
9
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Определения
Программная инженерия – это
– установление и использование обоснованных
инженерных принципов (методов) для экономного
получения ПО, которое надежно и работает на реальных
машинах. [Bauer 1972].
– та форма инженерии, которая применяет принципы
информатики (computer science) и математики для
рентабельного решения проблем ПО. [CMU/SEI-90-TR-003]
– применение систематического, дисциплинированного,
измеряемого подхода к разработке, использованию и
сопровождению ПО [IEEE 1990].
– дисциплина, целью которой является создание
качественного ПО, которое завершается вовремя, не
превышает выделенных бюджетных средств и
удовлетворяет выдвигаемым требованиям [Schach, 99]
10
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Абстрактные и реальные
объекты
• Абстрактный объект это описание
реального объекта минус подробности
• Пример 1:
• Абстрактные человек-это описание человека, которое
содержит атрибуты и варианты поведения:
• Реальный человек определяет значения атрибутов:
– Имя
– Фамилия
– Рост
– Вес
– Майкл
– Джексон
– 180 см
– 80 кг
Пример 2: формочки для печенья
11
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Почему объекты?
• Фокусирование на объектах
упрощает для нас понимание
сложных вещей.
• Уделяем внимание лишь важным
аспектам
• Пример : преподаватель - студент
12
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Объекты в деловом
мире
• Бизнес процесс: Заказ товара.
• Объекты:
Поведение:
• Форма заказа
• Список товаров
•Ввод информации
•Изменение информации
• Товарная накладная
•Удаление информации
• Ордер на отгрузку
•Отображение формы
•Обработка заказа
• Метка отгрузки
•Отмена заказа
13
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Концепция
Класс и Объект
• Класс - принципиально новый тип
данных.
• Класс представляет собой
множество объектов
– имеющих общую структуру
– обладающих одинаковым поведением.
развитием типа структура (запись)
• Класс является дальнейшим
14
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Концепция
• Объект является представителем (экземпляром)
• Объект обладает
какого-либо класса.
– состоянием
– поведением
– идентичностью.
• Состояние объекта характеризуется
– набором его свойств (атрибутов)
– текущими значениями каждого из этих свойств.
• Поведение объекта - выполнения определенной
последовательности характерных для него действий.
• Идентичность объекта – это свойство (или набор
свойств) объекта, которое позволяет отличить его от
всех прочих объектов того же типа (класса).
15
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Класс
простое объяснение
• Класс – это шаблон который определяет
атрибуты и методы реального мира.
А, она лишь определяет , как буква А выглядит.
• Пример: форма для печенья в виде буквы «А» - это не буква
• Если вам необходим объект,
представляемый классом, создаете
экземпляр.
• Каждый экземпляр содержит те же самые
атрибуты и методы, которые определены в
классе. У каждого экземпляра своя копия.
• Метод – поведение объекта. (опять про
печенье, но в форме собаки)
16
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Этапы разработки программ с
использованием ООП
ООП представляет собой
систематизированный подход к
алгоритмической формализации сложных
предметных областей.
ООП предполагает этапы разработки программ:
• Первый этап: абстрагирование
• Второй этап: инкапсуляция
• Третий этап: модульность
• Четвертый этап: иерархия
17
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Этапы разработки программ с
использованием ООП
Абстрагирование
• Выделение абстракций. Это - анализ предметной области,
для которой составляется программа, с целью определения
– основных объектов этой предметной области,
– их свойств,
– отношений между объектами,
– возможных операций над объектами или их
составляющими.
Различие:
Процедурное программирование нацелено на
моделирование действий, выполняемых компьютером.
ООП нацелено на моделирование предметной области
решаемой задачи.
18
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Этапы разработки программ с
использованием ООП
Инкапсуляция
• Типизация объектов и синтез абстрактных типов
данных. Определение новых типов данных и наборов
специфических функций и операций, применяемых к
этим типам данных.
Модульность
• Объектная декомпозиция. Выделение подтипов
(подобъектов) для каждого из типов и их
составляющих.
Иерархия
• Композиционная иерархизация объектов. Т.е.
выделение родовитых и композиционных отношений
над объектами.
19
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Инкапсуляция
(encapsulation)
- это объединение производного типа данных с набором
функций, используемых при работе с этим типом данных, в
единый класс.
• Функции, включенные в класс, называют методами класса
• Данные – элементами или полями класса,
• Конкретные представители класса – объекты, экземпляры.
Класс (объект) - это то, что поддерживает инкапсуляцию
• Инкапсуляция позволяет сделать класс «самодостаточным»
для решения конкретной задачи.
• Класс всегда несет в себе некоторую функциональность.
• Это мощное средство обмена готовыми к работе
программными заготовками
21
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Инкапсуляция и
ограничение доступа
к данным
• Инкапсуляция предполагает возможность ограничения
доступа к данным (полям) класса.
• Это позволяет
– упростить интерфейс класса, показав наиболее
существенные для внешнего пользователя данные и
методы.
– обеспечить возможность внесения изменений в
реализацию класса без изменения других классов (важно
для дальнейшего сопровождения и модернизации
программного кода).
• При сокрытии полей объекта доступ к ним
осуществляется только посредством методов класса.
Это защищает данные от внешнего вмешательства или
неправильного использования
22
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Управление доступом
Ключи доступа
• private - элементы данных могут использоваться только
функциями-методами класса, к которому
принадлежат эти элементы данных
• public
- элементы данных могут использоваться
любыми функциями программы
• protected - элементы данных могут использоваться
функциями-методами того же класса, к которому
принадлежат эти элементы данных, а также
функциями-
(классов-потомков)
указаны, то все элементы класса являются скрытыми
(недоступными).
По умолчанию ключ доступа private. Т.е. если ключи доступа не
методами производных классов
Попытка обратиться в программе к скрытым данным или методам
вызывает сообщение:
<имя элемента класса> is not accessible
24
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Наследование
(inheritance)
- это возможность определять новые классы
посредством добавления полей, свойств и методов к
уже существующим классам.
• Такой механизм получения новых классов называется
порождением.
• При этом новый, порожденный, класс (потомок) наследует
все поля, методы и свойства своего базового, родительского
класса.
• Наследование поддерживает концепцию иерархии классов
• Применение иерархии классов делает управляемыми большие
(hierarchical classification).
потоки информации.
• Наследование обеспечивает поэтапное создание сложных
классов и разработку собственных библиотек классов
25
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Полиморфизм
(polymorphism)
26
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Полиморфизм
(polymorphism)
• Это возможность заменить в классе потомке метод
• Это свойство классов решать схожие по смыслу
Цель полиморфизма - использование одного имени
класса родителя, сохранив при этом имя метода.
проблемы разными способами.
для задания общих для класса действий.
• Для изменения метода необходимо перекрыть его в потомке, т.е.
• В результате объекте-родителе и объекте-потомке будут
объявить в потомке одноименный метод и реализовать в нем
нужные действия.
действовать два одноименных метода, имеющие разную
алгоритмическую основу.
методов».
степени сложности путем создания общего для них стандартного
интерфейса для реализации похожих действий.
• Концепция полиморфизма - идея «один интерфейс - множество
• Полиморфизм позволяет манипулировать объектами различной
27
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Описание класса в
Delphi
•
•
•
•
•
•
type
< имя класса > = class(< имя класса-родителя >)
public
< описание общедоступных элементов >
published
< описание элементов, доступных в Инспекторе
Объектов >
protected
< описание элементов, доступных в классах-потомках >
private
< описание элементов, доступных только в модуле >
•
•
•
•
• end;
28
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Пример описания
класса
type
TStudent = class
FAge : integer;
function GetAge : integer;
procedure SetAge(Value : integer);
property Age : integer read GetAge write
SetAge;
end;
30
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Пример 1. Объявление
класса в программе.
Постановка задачи
Пусть необходимо создать класс, описывающий некоторые
характеристики человека.
• Будем хранить о человеке следующие данные:
фио, рост в cм, вес в кг.
• Для работы с этими данными предусмотрим следующие
методы:
– методы инициализации полей (названия таких методов
имеют префикс Set); назначение этих методов -
присваивать новые значения полям класса; новые
значения полей будут предаваться через параметры
функций-методов;
– метод, позволяющий получить информацию о
текущем состоянии объекта (значении всех его полей).
31
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
Итоги
Контрольные вопросы
• Перечислите основные этапы развития
технологии программирования.
• Определите понятие и назначение класса
• Определите понятие и характеристики объекта
• Перечислите и охарактеризуйте этапы
разработки программ с использованием ООП
• Назовите и охарактеризуйте основные
концепции ООП
• Из каких элементов состоит класс?
• Как ограничить доступ к составляющим
класса?
34
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
вопрос 1
1. Что такое класс?
– Это модуль, сохраненный в файле
– Это функция
– Это библиотека
– Это тип данных
– Это специальная программа
35
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
вопрос 2
2. Что такое методы класса?
– Это инкапсулированные в классе данные
– Это функции для работы с полями класса
– Это специальные функции в составе ОС
Windows
36
Презентация урока по дисциплине "Основы алгоритмизации и программирования" на тему "Основы объектно-ориентированного программирования. Принципы ООП. Классы. Объекты"
вопрос 3
2. Что такое полиморфизм?
– Это переключатель
– Это спец.функция для работы с полями
класса
– Это одно имя – разный функционал
37
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.