Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практикум по языкам программирования. Учебно-методическое пособие
.pdf
91
№
Варианта
Суперкласс
Поля
08
Среда разработки ПО
Торговая марка
Производитель,
Последняя версия
09
Вуз Новосибирска
Название
Дата основания
Количество студентов
10
Компьютерная техника
Процессор,
Объём жёсткого диска
11
Мобильное устройство
Тип,
Объём внешней памяти
12
Компилятор
Версия,
Метод синтаксического разбора
13
Класс плоских фигур
Тип фигуры
Координаты начала,
Цвет изображения
14
Класс, содержащий
информацию об организации
Название
Вид деятельности
Юридический адрес
15
Класс «домашняя библиотека»
Владелец
Кол-во экземпляров
Адрес
16
Класс «записная книжка»
Имя контакта
Вид контакта
17
Класс «студенческая группа»
Название группы
Количество студентов
18
Класс для определения
массива данных
Размерность (одномерный или
двухмерный или…)
Тип элементов
19
Класс «Автомобиль»
Торговая марка
Страна-производитель
Год выпуска
20
Класс «Учреждения культуры)
Название
Тип учреждения(организации)
Адрес

92
Практическая работа № 8
Тема: «Введение в объектно-ориентированное программирование.
Наследование и полиморфизм»
Цель работы: Освоить основные принципы объектно-ориентированного
программирования, изучить понятия базового класса и класса-наследника,
научиться применять динамический вызов методов, ознакомиться с
принципами позднего связывания и полиморфизма.
Методические указания к практическому заданию
Рассмотрим класс Student из занятия № 7. Будем считать его суперклассом
с двумя наследниками (дочерними классами): Excellent (отличник) и Loser
(двоечник). Каждый из этих классов содержит по одному дополнительному
полю и методы для изменения и получения значений этого поля. Конструктор
также содержит оператор инициализации дополнительного поля. Метод
outputTo() переопределён для дочерних классов.
Описание класса Excellent:
//Имя класса
class Excellent: public Student{
//Дополнительное поле класса
private:
String groupe;
//Конструктор (инициализация)
public:
Excellent (String F, char g, int ag, double av, String gr):Student( F,g,ag,av){
//здесь работа конструктора Excellent
}
//Метод для вывода информации о студенте в консоль
void outputTo() {
cout<<"ФИОстудента"<<FIO<<” - Молодец”<<\n”;
cout<<"Группа студента "<<groupe<<”\n”;}
};

93
//Аналогично описывается класс Loser.
Пример реализации метода main():
public static void main(String[] args) {
Student[] groupp = new Student[3];
Student st0=new Student("Макаров Илья Сергеевич",'m',17,4.0);
Excellent st1=new Excellent("Терех Елена Ивановна",'f',27,5.0,"РС21");
Losers st2=new Losers("Теребин Николай Антонович",'m',17,3.0,"ТРТКС");
//Здесь вывод информации обо всех созданных объектах
st0. outputTo();
st1. outputTo();
st2.outputTo( );
……
}
Результат работы:
ФИО студента Макаров Илья Сергеевич
Пол студента m
Возраст студента 17
Средний балл студента 4.0
ФИО отличника Терех Елена Ивановна - Молодец!
Группа РС21
ФИО двоечника Теребин Николай Антонович - Ай-яй-яй!
Задолженность по предмету ТРТКС

94
Задание:
Создать суперкласс. Определить дочерние классы в соответствии с
вариантом задания. Определить дополнительные поля и добавить механизм их
инициализации в конструкторе. Переопределить метод вывода информации об
объекте в каждом дочернем классе. Создать метод main() для создания объектов
и проверки работы методов классов. Скомпилировать проект и
продемонстрировать работу методов.
Порядок выполнения работы:
1. Запустить инструментальную среду.
2. Создать новый проект.
3. Создать суперкласс в соответствии с вариантом задания.
4. Создать дочерние классы в соответствии с вариантом задания.
5. Определить конструктор для инициализации всех полей в каждом из
дочерних классов.
6. Переопределить метод вывода информации в консоль в каждом из дочерних
классов.
7. Определить метод main() для демонстрации механизма полиморфизма.
8. Скомпилировать проект.
9. Запустить задачу на выполнение.
10. Оценить результаты работы.
11. Оформить отчет по проделанной работе.
Таблица 11. Варианты заданий
№
варианта
Суперкласс
Поля
суперкласса
Подклассы
Поля
подклассов
01
Компьютерная
техника
Тип
процессора
Сервер,
Планшет
Тип устройства
Объем
оперативной
памяти
02
Мобильное
устройство
Тип
соединения,
Операционная
система
Смартфон,
Коммуникатор
Тип устройства
Объем
оперативной
памяти
03
Коммуникационное
устройство
Производитель
Задержка
обработки
информации
Коммутатор,
Роутер
Тип устройства

95
№
варианта
Суперкласс
Поля
суперкласса
Подклассы
Поля
подклассов
04
Компилятор
Название
Производитель
Java,
C++,
Delphi
Вид
компиляции
05
Фирмапроизводитель
Страна,
Тип
оборудования
Huawei,
Siemens,
Ericsson
Год появления
на рынке
06
Оператор сотовой
связи
Торговая
марка,
Регион
Beeline,
МТС,
Мегафон
Количество
абонентов
07
Операционная
система
Производитель
Тип
устройства
ОС для ПК
ОС для МУ
Название
Последняя
версия
08
Среда разработки
ПО
Название
Производитель
Visual Studio,
NetBeans,
Eclipse
Последняя
версия
09
Вуз Новосибирска
Название
Дата
основания
Гуманитарные,
Технические
Количество
студентов
10
Компьютерная
техника
Торговая
марка
Тип
процессора
Ноутбук,
КПК
Объём
жёсткого диска
11
Мобильное
устройство
Торговая
марка
Страна-
производитель
Телефон,
Электронная
книга
Объём памяти
12
Компилятор
Название
Объем
требуемой
памяти
VBA,
C#,
Pascal
Метод
синтаксического разбора

96
№
варианта
Суперкласс
Поля
суперкласса
Подклассы
Поля
подклассов
13
Среда разработки
ПО
Название
Производитель
Borland
Developer
Studio,
Kylix
Последняя
версия
14
Класс плоских
фигур
Тип фигуры
Координаты
начала,
Цвет
изображения
Прямоугольник
Круг
Размеры
15
Класс, содержащий
информацию об
организации
Название
Вид
деятельности
Юридический
адрес
Театр
Кафе
Вместимость
16
Класс «домашняя
библиотека»
Владелец
Адрес
Фантастика
Словарь
Кол-во
экземпляров
17
Класс «записная
книжка»
Имя контакта
Вид контакта
Рабочий
контакт
Личный
контакт
Номер
телефона
18
Класс «Группа»
Название
группы
Вид
деятельности
Студенческая
группа
Туристическа
я группа
Количество
студентов
19
Класс для
определения
массива данных
Размерность
(одномерный
или
двухмерный
или…)
Тип элементов
Числовой
массив
Строковый
массив
Список
допустимых
операций
20
Класс
«Автомобиль»
Странапроизводитель
Год выпуска
Грузовой
Легковой
Тип
автомобиля
Торговая
марка

97
Содержание отчета
1. Номер и тема лабораторной работы.
2. Вариант задания.
3. Результаты подготовки:
- схема алгоритма обработки предложения;
- программа на заданном алгоритмическом языке.
4. Итоги работы программы:
- результаты расчета с текстовыми комментариями.
Показать отчет преподавателю.
Контрольные вопросы:
1. Понятие подкласса.
2. Использование конструктора суперкласса.
3. Наследование методов суперкласса.

98
ЛИТЕРАТУРА
1. Голицына О.Л. Основы алгоритмизации и программирования. М.:
Форум. 2008. 431 с.
2. Страуструп Б. Язык программирования С++.: монография / пер. с
англ. под ред. Н.Н. Мартынова. М.: Бином, 2011. 1135 с.
3. Страуструп Б. Программирование: принципы и практика
использования С++.: монография / Б.Страуструп. Испр. изд. М. :
Издат. дом "Вильямс", 2011. 1238 с.
4. ПавловскаяT.А. С/С++ Программирование на языке высокого
уровня. Спб.: Питер, 2012. 461 с.
5. Лаптев В.В. С++ объектно-ориентированное программирование :
учеб. пособие / В. В. Лаптев. СПб.: ПИТЕР, 2008. 457 с.
6. Ашарина И. В. Объектно-ориентированное программирование в
С++: лекции и упражнения : учеб. пособие / И. В. Ашарина. М.:
Горячая линия-Телеком, 2008. 319 с.
7. Эпштейн М. С. Практикум по программированию на языке С. М.:
Академия, 2007. 102 с.
8. Шилдт Г. Полный справочник по C++. М.: Вильямс, 2006. 217 с.
http://256bit.ru/informat/index11.htm

99
Учебное издание
Ольга Ильинична Моренкова
Практикум по языкам программирования
Учебно-методическое пособие
Корректор И.Л. Гончарова
Подписано в печать 10.12.2020, заказ № 97
п. л. 6,2, 99 стр., электронная версия – 1,71 Мб
Отдел рекламы и PR СибГУТИ
630102, г. Новосибирск, ул. Кирова, 86, офис 105
тел. (383) 269-83-56
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
