Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Структурное, модульное, объектно-ориентированное программирование, облачные технологии
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Информатика

Структурное, модульное, объектно-ориентированное программирование, облачные технологии

Выберите документ из архива для просмотра:

Выбранный для просмотра документ поурочный план.docx

библиотека
материалов

Дата: ________________Класс_________

Тема: Структурное, модульное, объектно-ориентированное программирование, облачные технологии

Цель урока. Познакомить учащихся с базовыми понятиями объектно-ориентированного программирования

Задачи урока.

  • Сформировать общее представление об объектно-ориентированном программировании

  • Рассмотреть основные понятия объектно-ориентированного подхода к программированию: инкапсуляция, наследование, полиморфизм.

Описание урока

Урок разработан для учащихся 10-11 классов, изучающих информатику на профильном уровне. В данном уроке вводятся основные понятия объектно-ориентированного программирования (инкапсуляциянаследование и полиморфизм) через рассматривание графических примеров. Объяснение материала урока сопровождается презентацией (приложение 1), которая позволяет визуализировать сложные понятия. В конце урока предлагается тест для самоконтроля.

Объяснение нового материала

В течение долгого времени основным методом программирования было структурное программирование, в котором основой программ являлись функции и процедуры, т.е. действия. Как вы имели возможность убедиться в 9 классе, программист определял, какие действия и вычисления нужны для решения поставленной задачи, затем описывал эти действия в виде процедур и функций и объединял их в программу. Созданная таким образом компьютерная программа отличалась четким алгоритмом работы - последовательностью действий по достижению поставленной цели.

В объектно-ориентированном программировании главной отправной точкой при проектировании программы является не процедура, не действие, а объект. Такой подход представляется достаточно естественным, поскольку в реальном мире мы имеем дело именно с объектами, взаимодействующими друг с другом.

Объектно-ориентированное программирование (ООП) - технология программирования, при которой программа рассматривается как набор дискретных объектов, содержащих, в свою очередь, наборы структур данных и процедур, взаимодействующих с другими объектами.

Объектно-ориентированное программирование представляет собой способ программирования, который напоминает процесс человеческого мышления. Обдумывая особенности объектов, их взаимодействие между собой, мы пользуемся следующими приемами мышления.

Как уже говорилось выше, при использовании ООП основными действующими лицами являются не переменные, а объекты. Рассмотрим пример для пояснения этого термина (Слайд 1).

Пусть необходимо написать программу, которая будет рисовать на экране круг какого-либо определенного цвета. Для этого нужно знать радиус, координаты центра, а также цвет, которым он будет закрашен. Если создавать программу стандартным способом, то понадобятся такие переменные .

  • R - радиус круга:

  • X, Y - координаты центра крута;

  • Color - цвет круга.

Для того чтобы нарисовать этот круг на экране, нужна процедура, которую можно назвать Draw. Она будет изображать круг с заданными параметрами R, X. Y, Color.

Недостаток стандартного метода заключается в том, что данные в этом случае не являются взаимосвязанными. Предположим, что нужно нарисовать не один, а три круга (например, снеговика) (Слайд 2). При использовании стандартного метода программирования придется выбирать между двумя способами реализации этого примера. Первый способ (Слайд 3) - завести для каждого круга свой набор параметров R, X, Y, Color, а затем вызывать процедуру Draw с каждым из этих наборов. Недостаток данного способа очевиден: если нужно рисовать много кругов, то понадобится большое количество переменных. Это приведет к тому, что программа станет очень громоздкой.

Второй способ (Слайд 4) заключается в том, чтобы для каждого нового круга задавать в программе свои значения параметров R, X, Y, Color, но при этом значения параметров для предыдущего круга будут теряться. Недостаток способа состоит в потере значений параметров всех кругов, за исключением последнего.

Если в этой программе ограничиться изображением снеговика, то недостаток второго способа не будет иметь значения. Но когда создается значительное по размеру приложение, то программисту желательно представлять себе возможные изменения и дополнения, которые необходимо будет реализовать в будущем. В рассматриваемом примере со снеговиком возможно несколько изменений. (Слайд 5)

Предусмотреть возможность перемещения снеговика - процедура Move и сделать возможным изменение цвета для всех кругов, из которых состоит снеговик - процедура ChangeColor. Задача усложняется, соответственно добавляются новые переменные.

Теперь данный пример рассмотрим с точки зрения ООП (Слайд 6). В этом случае вместо огромного количества переменных будет несколько объектов. Вначале все круги можно представить в виде самостоятельных объектов с одинаковой структурой, которые отличаются друг от друга лишь значениями параметров. Действие процедур Draw, Move и ChangeColor, применительно к каждому их них, также является идентичным. Иначе говоря, в данном случае все круги являются объектами, которые имеют одинаковую структуру (радиус, координаты центра, цвет) и ведут себя схожим образом при выполнении любого действия (рисование, перемещение, изменение цвета), т.е. все они принадлежат одному и тому же семейству. Далее приведенные рассуждения будут рассмотрены в терминах ООП.

С точки зрения ООП все "действующие лица" программы представляют собой объекты, каждый из которых является элементом (экземпляром) какого-либо класса. Параметры объекта (радиус, цвет и т. п.) называются его свойствами, а процедуры или функции, которые он выполняет в ответ на какой-либо запрос (поменять цвет, переместиться и т. п.), называются методамиПри этом метод, который должен вызываться в ответ на запрос, определяется классом, экземпляром которого является данный объект. И наоборот, если объекты принадлежат одному и тому же классу, то они должны вызывать одинаковые методы в ответ на один и тот же запрос (Слайд 7).

Итак,

Объект - структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии.

Класс - описание множества объектов и выполняемых над ними действий.

Представление свойств и методов как неотъемлемых частей любого объекта носит название инкапсуляции, т.е. в этом случае объект можно представить как своеобразную оболочку (капсулу), которая ''окружает" программный код (методы) и данные (свойства).

Вернемся к рассматриваемому примеру с рисованием снеговиков (Слайд 8). Пусть необходимо нарисовать снеговика с глазами, которые должны время от времени мигать. Все остальные свойства и методы у объектов-глаз должны быть такими же, как и у объектов-кругов, принадлежащих классу Round. Иначе говоря, глаза снеговика тоже нужно перемещать вместе с остальными кругами, а также должна оставаться возможность изменения их цвета. Для реализации этого дополнения можно создать еще один класс - Eyes (глаза), в котором будут те же свойства и методы, что и в Round, но еще будет добавлен метод Blink (мигание). Однако при этом придется для класса Eyes заново создавать все свойства и методы, которые уже были описаны для Round.

Чтобы не выполнять подобную двойную работу, в ООП существует механизм наследования. Этот механизм реализуется путем созданияиерархической структуры классов. Вначале создается класс Round, для которого описываются все свойства и методы. Он располагается в основании иерархической структуры. Затем создается еще один класс под названием Eyes, в котором описывается новый метод Blink, а все остальные свойства и методы остаются без изменений, т.е. класс Eyes наследует все свойства и методы Round и. в то же время, включает в себя дополнительный метод Blink. В иерархической структуре Eyes следует за классом Round, и в этом случае говорят, что Round являетсяпредком (родительским классом) для Eyes. В свою очередь. Eyes является потомком (или дочерним классом) для Round.

Итак, наследованием называется возможность доступа объектов принадлежащих классу-потомку, к методам и свойствам класса-предка.

Таким образом, применение наследования в ООП ведет к значительному уменьшению объема программы и повышению ее функциональности.

Следующее основное понятие - полиморфизм (Слайд 9)Термин полиморфизм своим происхождением обязан двум греческим словам: poly(много) и morphos (форма). Таким образом "полиморфизм" переводится как "множество форм".

Обратимся снова к примеру с кругами. Пусть необходимо рисовать на экране не только круги, но и другие геометрические фигуры (например, прямоугольники), причем с ними нужно выполнять те же самые действия, которые были описаны ранее (рисовать, перемещать, изменять цвет фигуры). Но для того, чтобы нарисовать прямоугольник, необходимо знать координаты какой-либо его вершины (например, левой верхней), а также его длину и ширину.

Для реализации приведенных требований следует создать класс Rect (rectangle - прямоугольник), являющийся потомком Round, и применительно к нему X и Y - это координаты выбранной вершины прямоугольника, a R - его длина (или ширина). Но в этом случае придется описать еще одно свойство для обозначения ширины (или длины) Очевидно, что при работе с подобными классами легко может возникнуть путаница в использовании свойств, и причина этого - узкая направленность класса Round, который ориентирован на работу только с определенной геометрической фигурой.

Чтобы сделать Round более универсальным, т.е. пригодным для изображения большего числа геометрических фигур, следует изменить его свойства следующим образом (Слайд 10). Вместо радиуса и координат центра нужно описать такие свойства:

  • Тор - координата верхний границы фигуры;

  • Left - координата левой границы фигуры;

  • Height - высота фигуры;

  • Width - ширина фигуры.

По этим свойствам легко можно определить недостающие координаты для любой фигуры (Слайд 11).

Теперь на основе предка Round с описанным выше новым набором свойств можно создать потомка Rect для изображения прямоугольников. Однако методика рисования в этом случае должна отличаться от той, которая использовалась при работе с кругами. Т.е. необходимо, чтобы для Rect содержимое унаследованного метода Draw отличалось от родительского, в противном случае, если вызывать Draw для объекта, принадлежащего классу Rect, то на экране все равно будет нарисован круг, а не прямоугольник (Слайд 12).

Чтобы этого избежать, необходимо для Rect описать свой метод Draw. Тогда для объекта, принадлежащего классу Round, вызов Draw будет означать изображение на экране круга, а для объекта из Rect - прямоугольника. Т.е. методы с одним и тем же именем Draw отвечают за разные действия в зависимости от того, объекту какого класса необходимо выполнить рисование. Подобная ситуация в ООП носит названиеполиморфизма. Полиморфизм (polymorphism, дословно - "многообразие форм") - свойство классов решать схожие задачи различными способами или, иначе говоря, возможность использовать одно имя для нескольких методов, имеющих сходное назначение.

Тест

1. Базовым понятием объектно-ориентированного программирования является

  1. метод

  2. поле

  3. ориентация

  4. объект

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

  1. программирование объектов

  2. метод программирования, суть которого состоит в разработке программы в виде взаимодействующих объектов

  3. программирование на объектно-ориентрованных языках программирования

3. Каждый объект является экземпляром определенного класса

  1. да

  2. нет

4. Класс может использоваться для создания

  1. одного экземпляра

  2. двух экземпляров

  3. пяти экземпляров

  4. более пяти экземпляров

5. Инкапсуляция - это :

  1. контролируемое сокрытие информации о внутренней структуре класса

  2. заключение объекта в оболочку (капсулу)

  3. свойство объекта

6. Класс - это :

  1. это совокупность объектов с определенными свойствами и поведением

  2. список объектов

  3. часть языка программирования

7. Методы - это ...

  1. инструкции по применению объектов в программе

  2. действия, которые можно выполнить над объектом или которые сам объект может выполнить

  3. способы разработки объектно-ориентированных программ

8. Наследование - это :

  1. преемственность программ, создание программ с использованием стандартных подпрограмм

  2. порождение класса от другого класса с наследованием полей, методов и свойств своего родителя

  3. модернизация программы для новой операционной системы с сохранением возможностей и свойств

9. Полиморфизм - это :

  1. возможность объектов принимать различные формы

  2. многообразие программ

  3. свойство классов решать схожие задачи различными способами



Выбранный для просмотра документ презентация к уроку.ppt

библиотека
материалов
Введение в объектно-ориентированное программирование
 X, Y – координаты центра круга; Draw R – радиус круга; Color – цвет круга.
1 способ
Draw1: R=10; x=5; y=10; color=3; Draw2: R=45; x=15; y=3; color=2; Draw_n: R=5...
ChangeColor Move
Draw Move ChangeColor Экземпляры класса Свойства объекта методы Родительский...
структурированная переменная, содержащая всю информацию о некотором физическ...
Наследование Предок – родительский класс Потомок – дочерний класс Round	Свойс...
Рисовать, перемещать, изменять свет Round Rect R - Радиус - Длина X,Y Координ...
X, Y – координаты центра круга; R – радиус круга; Color – цвет круга. Top –...
Top = 80 Left = 20 Height = 40 Width = 60 A (20,80) B (80,80) D (80,40) C (20...
Rect Round Draw Рисует прямоугольник Рисует круг Классы Метод Действия Полимо...
12 1

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs

Описание презентации по отдельным слайдам:

№ слайда 1 Введение в объектно-ориентированное программирование
Описание слайда:

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

№ слайда 2  X, Y – координаты центра круга; Draw R – радиус круга; Color – цвет круга.
Описание слайда:

X, Y – координаты центра круга; Draw R – радиус круга; Color – цвет круга.

№ слайда 3 1 способ
Описание слайда:

1 способ

№ слайда 4 Draw1: R=10; x=5; y=10; color=3; Draw2: R=45; x=15; y=3; color=2; Draw_n: R=5
Описание слайда:

Draw1: R=10; x=5; y=10; color=3; Draw2: R=45; x=15; y=3; color=2; Draw_n: R=5; x=25; y=13; color=2; . . . . . . . . . 2 способ

№ слайда 5 ChangeColor Move
Описание слайда:

ChangeColor Move

№ слайда 6 Draw Move ChangeColor Экземпляры класса Свойства объекта методы Родительский
Описание слайда:

Draw Move ChangeColor Экземпляры класса Свойства объекта методы Родительский класс

№ слайда 7 структурированная переменная, содержащая всю информацию о некотором физическ
Описание слайда:

структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии. Свойства Методы ОБЪЕКТ Параметры объекта Процедуры и функции, выполняемые объектом Инкапсуляция

№ слайда 8 Наследование Предок – родительский класс Потомок – дочерний класс Round	Свойс
Описание слайда:

Наследование Предок – родительский класс Потомок – дочерний класс Round Свойства R X Y Color Методы Draw Move ChangeColor Eyes Свойства R X Y Color Методы Draw Move ChangeColor Blink

№ слайда 9 Рисовать, перемещать, изменять свет Round Rect R - Радиус - Длина X,Y Координ
Описание слайда:

Рисовать, перемещать, изменять свет Round Rect R - Радиус - Длина X,Y Координаты Центра – Вершины

№ слайда 10 X, Y – координаты центра круга; R – радиус круга; Color – цвет круга. Top –
Описание слайда:

X, Y – координаты центра круга; R – радиус круга; Color – цвет круга. Top – координата верхней границы фигуры; Left – координата левой границы фигуры; Height – высота фигуры; Width – ширина фигуры;

№ слайда 11 Top = 80 Left = 20 Height = 40 Width = 60 A (20,80) B (80,80) D (80,40) C (20
Описание слайда:

Top = 80 Left = 20 Height = 40 Width = 60 A (20,80) B (80,80) D (80,40) C (20,40)

№ слайда 12 Rect Round Draw Рисует прямоугольник Рисует круг Классы Метод Действия Полимо
Описание слайда:

Rect Round Draw Рисует прямоугольник Рисует круг Классы Метод Действия Полиморфизм

Краткое описание документа:

Тема: Структурное, модульное, объектно-ориентированное программирование, облачные технологии

Цель урока. Познакомить учащихся с базовыми понятиями объектно-ориентированного программирования

Задачи урока.

· Сформировать общее представление об объектно-ориентированном программировании

· Рассмотреть основные понятия объектно-ориентированного подхода к программированию: инкапсуляция, наследование, полиморфизм.

Описание урока

Урок разработан для учащихся 10-11 классов, изучающих информатику на профильном уровне. В данном уроке вводятся основные понятия объектно-ориентированного программирования (инкапсуляция, наследование и полиморфизм) через рассматривание графических примеров. Объяснение материала урока сопровождается презентацией (приложение 1), которая позволяет визуализировать сложные понятия. В конце урока предлагается тест для самоконтроля.

Автор
Дата добавления 29.01.2015
Раздел Информатика
Подраздел Конспекты
Просмотров2513
Номер материала 347789
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх