• Преподавателю
  • Информатика
  • Материалы урока-семинара по дисциплине «Основы алгоритмизации и программирования» По теме «Наследование. Создание классов наследников»

Материалы урока-семинара по дисциплине «Основы алгоритмизации и программирования» По теме «Наследование. Создание классов наследников»

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат docx
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Министерство образования и науки Республики Казахстан

РГКП «Семипалатинский финансово-экономический колледж имени Рымбека Байсеитова»
















Материалы урока-семинара по дисциплине «Основы алгоритмизации и программирования»

По теме «Наследование. Создание классов наследников»











Преподователь: Р.С. Раева



2015-2016 учебный год

Технологическая карта (план) урока №18

Группа

Дата

2 осн ВТ-1

19.10









Дисциплина: Основы алгоритмизации и программирования

Раздел 2 Основы объектно-ориентированного программирования (ООП)

Тема курса: Тема 2.4 Наследование

Тема урока: №18 Наследование. Создание классов наследников

Тип урока: комбинированный

Вид урока:, Лекция, урок-семинар

Требования предъявляемые к уровню подготовленности обучающихся

Базовые компетенции

БК 1. Соблюдать технику безопасности и правила пожарной безопасности;

БК 4. Организовать работу с различными источниками информации - находить, обрабатывать, хранить и воспроизводить;

БК 7. Определять наиболее актуальные подходы алгоритмизации и способы решения поставленной задачи.

Профессиональные компетенции

ПК 1. Проводить трансляцию и отладку программы, управлять данными при решении задач;

ПК 2. Осуществлять решение задач из различных областей науки, техники, экономики и производства с применением математических методов и вычислительной техники на всех этапах от постановки до получения результата на ЭВМ;

ПК 3. Составлять тесты и производить тестирование программ.

Цели урока

обучающая

Ознокомить с конструкторами и деструкторами

воспитательная

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

развивающая

Развитие интеллектуального мышления, познавательных интересов, навыков работы на компьютере, самоконтроля, умения конспектировать, анализировать, логическиий излагать свои мысли.


Межпредметные связи

Обеспечивающие

Предмет: Основы объектно-ориентированного программирования

Тема курса 2.3 Конструкторы и деструкторы

Обеспечиваемые

Предмет: Основы объектно-ориентированного программирования

Тема курса 2.4 Наследование

Оборудование урока

Наглядные пособия

Опорный конспект

Раздаточный материал

Технические средства обучения

ПК, Turbo Pascal 7.0.

Литература: основная

  1. Семакин И.Г., Шестаков А.П. «Основы программирования»

Дополнительная

Гофман В., Хомоненко А «Delphi 6»


Содержание урока

№ эле-мента

Элементы урока, учебные вопросы,

формы и методы обучения

Дополнения, изменения

1.

Организационный (2 мин)

  1. Приветствие обучающихся

  2. Проверка готовности учебной аудитории к учебным занятиям

  3. Проверка готовности обучающихся к учебно-практической деятельности

  4. Проверка отсутствующих, заполнение учебного журнала

  5. Постановка цели и хода урока


2.

Проверка домашнего задания (30 мин)

Индивидуальный опрос:

1.Что такое конструкторы ?

2. Что такое деструкторы?

3. Переменная math ?

4. Что такое Create?

5. Что такое Destroy ?

6. Значение nil?

7. Метод Free?


3.

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

Тема урока: №18 Наследование. Создание классов наследников

План:

Наследование.

Классы

Создание классов наследников

Простое наследование

Множественное наследование

Единый базовый класс


4.

Закрепление полученных знаний (10 мин)

1.описание наследование:

Type

Class2 = Object(Class1)

M: Integer;
End;

Var

Object3: Class2;

При таком объявлении объект Object3 обладает тремя полями - A, V, M - и одним методом - Nothing(Var Byte).

2.Простое наследование?

Класс, от которого произошло наследование, называется базовым или родительским (англ. base class). Классы, которые произошли от базового, называются потомками, наследниками или производными классами (англ. derived class).

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

3.Множественное наследование?

Основная статья: Множественное наследование

При множественном наследовании у класса может быть более одного предка. В этом случае класс наследует методы всех предков. Достоинства такого подхода в большей гибкости. Множественное наследование реализовано в C++. Из других языков, предоставляющих эту возможность, можно отметить Python и Eiffel. Множественное наследование поддерживается в языке UML.

Множественное наследование - потенциальный источник ошибок, которые могут возникнуть из-за наличия одинаковых имен методов в предках. В языках, которые позиционируются как наследники C++ (Java, C# и др.), от множественного наследования было решено отказаться в пользу интерфейсов. Практически всегда можно обойтись без использования данного механизма. Однако, если такая необходимость все-таки возникла, то, для разрешения конфликтов использования наследованных методов с одинаковыми именами, возможно, например, применить операцию расширения видимости - «::» - для вызова конкретного метода конкретного родителя.

4.Попытка решения проблемы?

наличия одинаковых имен методов в предках была предпринята в языке Eiffel, в котором при описании нового класса необходимо явно указывать импортируемые члены каждого из наследуемых классов и их именование в дочернем классе.

Большинство современных объектно-ориентированных языков программирования (C#, Java, Delphi и др.) поддерживают возможность одновременно наследоваться от класса-предка и реализовать методы нескольких интерфейсов одним и тем же классом. Этот механизм позволяет во многом заменить множественное наследование - методы интерфейсов необходимо переопределять явно, что исключает ошибки при наследовании функциональности одинаковых методов различных классов-предков.

5.Единый базовый класс?

В ряде языков программирования все классы явно или неявно наследуются от некого базового класса. Smalltalk был одним из первых языков, в которых использовалась эта концепция. К таким языкам относятся Objective-C (NSObject), Perl (UNIVERSAL), Eiffel (ANY), Java (java.lang.Object), C# (System.Object), Delphi (TObject).


5

Подведение итогов урока (6 мин)


6

Постановка домашнего задания (2 мин)

Семакин И.Г., Шестаков А.П. «Основы программирования», стр. 157



Преподаватель __________ Р.С. Раева











Дисциплина: Основы алгоритмизации и программирования

Раздел 2 Основы объектно-ориентированного программирования (ООП)

Тема курса: Тема 2.4 Наследование

Тема урока: №18 Наследование. Создание классов наследников

Pascal не поддерживает множественного наследования, то есть каждый класс может иметь не более одного наследника. Для того, чтобы объявить класс наследником какого-то другого класса достаточно указать имя класса-предка при объявлении наследника:

Type

Class2 = Object(Class1)

M: Integer;
End;

Var

Object3: Class2;

При таком объявлении объект Object3 обладает тремя полями - A, V, M - и одним методом - Nothing(Var Byte).

Простое наследование

Класс, от которого произошло наследование, называется базовым или родительским (англ. base class). Классы, которые произошли от базового, называются потомками, наследниками или производными классами (англ. derived class).

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

Множественное наследование

Основная статья: Множественное наследование

При множественном наследовании у класса может быть более одного предка. В этом случае класс наследует методы всех предков. Достоинства такого подхода в большей гибкости. Множественное наследование реализовано в C++. Из других языков, предоставляющих эту возможность, можно отметить Python и Eiffel. Множественное наследование поддерживается в языке UML.

Множественное наследование - потенциальный источник ошибок, которые могут возникнуть из-за наличия одинаковых имен методов в предках. В языках, которые позиционируются как наследники C++ (Java, C# и др.), от множественного наследования было решено отказаться в пользу интерфейсов. Практически всегда можно обойтись без использования данного механизма. Однако, если такая необходимость все-таки возникла, то, для разрешения конфликтов использования наследованных методов с одинаковыми именами, возможно, например, применить операцию расширения видимости - «::» - для вызова конкретного метода конкретного родителя.

Попытка решения проблемы наличия одинаковых имен методов в предках была предпринята в языке Eiffel, в котором при описании нового класса необходимо явно указывать импортируемые члены каждого из наследуемых классов и их именование в дочернем классе.

Большинство современных объектно-ориентированных языков программирования (C#, Java, Delphi и др.) поддерживают возможность одновременно наследоваться от класса-предка и реализовать методы нескольких интерфейсов одним и тем же классом. Этот механизм позволяет во многом заменить множественное наследование - методы интерфейсов необходимо переопределять явно, что исключает ошибки при наследовании функциональности одинаковых методов различных классов-предков.

Единый базовый класс

В ряде языков программирования все классы явно или неявно наследуются от некого базового класса. Smalltalk был одним из первых языков, в которых использовалась эта концепция. К таким языкам относятся Objective-C (NSObject), Perl (UNIVERSAL), Eiffel (ANY), Java (java.lang.Object), C# (System.Object), Delphi (TObject).


© 2010-2022