Инфоурок / Информатика / Конспекты / Структурное, модульное, объектно-ориентированное программирование, облачные технологии
Обращаем Ваше внимание: Министерство образования и науки рекомендует в 2017/2018 учебном году включать в программы воспитания и социализации образовательные события, приуроченные к году экологии (2017 год объявлен годом экологии и особо охраняемых природных территорий в Российской Федерации).

Учителям 1-11 классов и воспитателям дошкольных ОУ вместе с ребятами рекомендуем принять участие в международном конкурсе «Я люблю природу», приуроченном к году экологии. Участники конкурса проверят свои знания правил поведения на природе, узнают интересные факты о животных и растениях, занесённых в Красную книгу России. Все ученики будут награждены красочными наградными материалами, а учителя получат бесплатные свидетельства о подготовке участников и призёров международного конкурса.

ПРИЁМ ЗАЯВОК ТОЛЬКО ДО 15 ДЕКАБРЯ!

Конкурс "Я люблю природу"

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



Московские документы для аттестации!

124 курса профессиональной переподготовки от 4 795 руб.
274 курса повышения квалификации от 1 225 руб.

Для выбора курса воспользуйтесь поиском на сайте KURSY.ORG


Вы получите официальный Диплом или Удостоверение установленного образца в соответствии с требованиями государства (образовательная Лицензия № 038767 выдана ООО "Столичный учебный центр" Департаментом образования города МОСКВА).

ДИПЛОМ от Столичного учебного центра: KURSY.ORG


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

Выбранный для просмотра документ поурочный план.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

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

№ слайда 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 Рисует прямоугольник Рисует круг Классы Метод Действия Полиморфизм

Очень низкие цены на курсы переподготовки от Московского учебного центра для педагогов

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

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Подайте заявку на интересующий Вас курс сейчас: KURSY.ORG


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

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

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

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

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

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

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

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

Общая информация

Номер материала: 347789

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

Получите наградные документы сразу с 38 конкурсов за один орг.взнос: Подробнее ->>