Задания для самостоятельного выполнения




Задание. Создать соответствующие классы. Определите в каждом классе три перегруженных конструктора: с полным набором параметров, с частью параметров и конструктор по умолчанию. Предусмотреть переопределение методов базового класса в производных классах. Создайте дополнительный класс WriterInfo, для вывода информации о классах.

 

Вариант 1. Создайте класс «Служащий», содержащий следующую информацию: ФИО, пол, дата рождения, стаж работы, зарплата. Предусмотреть get методы и метод класса «выплачиваемые налоги». Этот метод должны переопределять производные классы.

Создайте класс «Рабочий» производный от «Служащий» содержит дополнительную информацию: номер цеха, разряд.

Создайте класс «Начальник цеха» производный от «Служащий» содержит дополнительную информацию: название цеха, количество подчиненных.

Создайте класс «Директор завода» производный от «Служащий» содержит дополнительную информацию: срок избрания.

 

Вариант 2. Создайте класс «Аудитория», содержащий следующую информацию: номер, этаж, площадь. Предусмотреть get методы и метод класса «расчет вместимости». Этот метод должны переопределять производные классы.

Создайте класс «Лекционная аудитория» производный от «Аудитория» содержит дополнительную информацию: количество рядов, количество посадочных мест в ряду, наличие проектора.

Создайте класс «Учебный класс» производный от «Аудитория» содержит дополнительную информацию: количество парт, наличие компьютера.

Создайте класс «Лаборатория» производный от «Аудитория» содержит дополнительную информацию: количество компьютеров.

 

Вариант 3. Создайте класс «Книга», который содержит следующую информацию: издательство, автор и количество страниц. Предусмотреть get методы. Метод класса «Название», который потом будут переопределять производные классы.

Создайте класс «Художественная книга» производный от «Книга» содержит дополнительную информацию: жанр.

Создайте класс «Научная книга» производный от «Книга» содержит дополнительную информацию: тематика, сложность.

 

Вариант 3. Создайте класс «Одежда», который содержит следующую информацию: производитель, цена и стиль. Предусмотреть get методы. Метод класса «Бренд», который потом будут переопределять производные классы.

Создайте класс «Куртка» производный от «Одежда» содержит дополнительную информацию: сезонность, наличие капюшона.

Создайте класс «Кофта» производный от «Одежда» содержит дополнительную информацию: длина рукава, процент содержания шерсти.

Создайте класс «Брюки» производный от «Одежда» содержит дополнительную информацию: расклешенность.

 

Вариант 5. Создайте класс «Посуда», который содержит следующую информацию: производитель, цена и стиль. Предусмотреть get методы. Метод класса «Наименование», который потом будут переопределять производные классы.

Создайте класс «Кастрюля» производный от «Посуда» содержит дополнительную информацию: объем и наличие крышки.

Создайте класс «Сковорода» производный от «Посуда» содержит дополнительную информацию: длина ручки, покрытие.

Создайте класс «Тарелка» производный от «Посуда» содержит дополнительную информацию: диаметр.

 

Вариант 6. Создайте класс «Человек», содержащую следующую информацию: ФИО, пол, возраст. Предусмотреть get методы. Метод класса «Имя», который потом будут переопределять производные классы.

Создайте класс «Ребенок» производный от «Человек» содержит дополнительную информацию: номер детского сада.

Создайте класс «Подросток» производный от «Человек» содержит дополнительную информацию: номер школы, успеваемость в школе.

Создайте класс «Родитель» производный от «Человек» содержит дополнительную информацию: количество детей, место работы.

 

Вариант 7. Автомобильный транспорт описывается классом «Автомобиль», который содержит следующую информацию: марка автомобиля, тип двигателя (карбюраторный или дизельный), мощность двигателя, масса автомобиля, пробег в км. Предусмотреть get методы. Метод класса «Марка», который потом будут переопределять производные классы.

Создайте класс «Легковой автомобиль» производный от «Автомобиля» содержит дополнительную информацию: расход топлива на 100 км, время разгона до 100 км/ч в секундах.

Создайте класс «Грузовой автомобиль» производный от «Автомобиля» содержит дополнительную информацию: грузоподъемность в тоннах, тип кузова (открытый или закрытый).

Создайте класс «Автобус» производный от «Легкового автомобиля» содержит дополнительную информацию: количество мест.

 

Вариант 8. Создайте класс «Обувь», содержащую следующую информацию: размер, производитель, цвет. Предусмотреть get методы. Метод класса «Бренд», который потом будут переопределять производные классы.

Создайте класс «Сапоги» производный от «Обувь», который содержит дополнительную информацию: размер каблука, тип (демисезонные или зимние).

Создайте класс «Босоножки» производный от «Обувь» содержит дополнительную информацию: открытость (сильно или нет).

Создайте класс «Кроссовки» производный от «Обувь» содержит дополнительную информацию: тип_подошвы, фирма_производитель.

 

Вариант 9. Создайте класс «Учащийся», содержащий следующую информацию: ФИО, пол, возраст. Предусмотреть get методы. Метод класса «Учебное_заведение» который потом будут переопределять производные классы.

Создайте класс «Школьник» производный от «Учащийся» содержит дополнительную информацию: номер класса и букву.

Создайте класс «Студент», производный от «Учащийся», который содержит дополнительную информацию: факультет, специальность, номер группы.

Создайте класс «Аспирант» производный от «Учащийся» содержит дополнительную информацию: название научной работы, научный руководитель.

 

Вариант 10. Класс описывает мебель и содержит следующие данные-члены: производитель, цена и материал. Предусмотреть get методы. Метод класса «Производитель», который потом будут переопределять производные классы.

Создайте класс «Шкаф» производный от «Мебель» содержит дополнительную информацию: ширину, глубину и высоту.

Создайте класс «Стол» производный от «Мебель» содержит дополнительную информацию: количество ящиков, площадь рабочей поверхности.

Создайте класс «Стул» производный от «Мебель» содержит дополнительную информацию: возможность регулировать положение спинки.

 

Вариант 11. Создайте класс «Персонаж», содержащий следующую информацию: имя, здоровье, сила и ловкость. Предусмотреть get методы. Метод класса «Атаковать», который потом будут переопределять производные классы.

Создайте класс «Воин» производный от «Персонаж» содержит дополнительную информацию: вид оружия и форма щита.

Создайте класс «Монстр» производный от «Персонаж», который содержит дополнительную информацию: длина зубов и когтей, количество_лап.

Создайте класс «Маг» производный от «Персонаж» содержит дополнительную информацию: вид_магии.

 

Вариант 12. Создайте класс «Фильм», содержащий следующую информацию: режиссер, продолжительность и аудитория. Предусмотреть get методы. Метод класса «Название», который потом будут переопределять производные классы.

Создайте класс «Мультфильм» производный от «Фильм» содержит дополнительную информацию: художник и стиль_графики.

Создайте класс «Мюзикл» производный от «Фильм», который содержит дополнительную информацию: музыкальный_инструмент, количество_песен.

Создайте класс «Исторический» производный от «Фильм» содержит дополнительную информацию: исторический_период, степень_соответствия_событиям.

 

Вариант 13. Создайте класс «Молочный_продукт», содержащий следующую информацию: срок_годности, количество_белка и жирность. Предусмотреть get методы. Метод класса «Производитель», который потом будут переопределять производные классы.

Создайте класс «Йогурт» производный от «Молочный_продукт» содержит дополнительную информацию: вкусовая_добавка, объем_тары, термизированность.

Создайте класс «Творог» производный от «Молочный_продукт», который содержит дополнительную информацию: масса, зернистость.

Создайте класс «Кефир» производный от «Молочный_продукт» содержит дополнительную информацию: объем_тары и количество_бифидобактерий.

 

Вариант 13. Создайте класс «Игра», содержащий следующую информацию: год_выпуска, рейтинг и ОС. Предусмотреть get методы. Метод класса «Название», который потом будут переопределять производные классы.

Создайте класс «Стратегия» производный от «Игра», который содержит дополнительную информацию: максимальное_количество_юнитов, колчество_карт и возможность_создать_карту.

Создайте класс «Шутер» производный от «Игра», который содержит дополнительную информацию: количество_уровней и вид_оружия.

Создайте класс «Квест» производный от «Игра» содержит дополнительную информацию: возраст.

 

Вариант 15. Создайте класс «Сайт», содержащий следующую информацию: название, наличие рекламы. Предусмотреть get методы. Метод класса «Популярность», который потом будут переопределять производные классы.

Создайте класс «Социальная_сеть» производный от «Сайт», который содержит дополнительную информацию: количество_пользователей, наличие_приложений.

Создайте класс «Информационный» производный от «Сайт», который содержит дополнительную информацию: количество_новостей, частота_обновлений.

Создайте класс «Образовательный» производный от «Сайт» содержит дополнительную информацию: тематика.

 

 

Контрольные вопросы

1. Что собой представляет механизм наследования?

2. Дайте определение терминам «суперкласс» и «подкласс».

3. С помощью какого ключевого слова предопределяется ссылка на объект текущего класса?

4. В каких случаях используется super(), а в каких super.?

5. В чем разница между перегруженными и переопределенными методами?

6. Каким образом реализуется полиморфизм?



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: