Студопедия — Лабораторная работа №6. Полиморфизм методов класса
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа №6. Полиморфизм методов класса






Задание: написать программу согласно заданию.

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

№ вар. Задача
  Создать класс Автомобиль со свойствами: Название, Максимальная скорость (в км/ч). Определить 2 виртуальных метода: метод «Стоимость» – стоимость автомобиля, рассчитываемую по формуле. Максимальная скорость * 100 и метод «Обновление модели», увеличивающий максимальную скорость на 10. Определить также метод «Информация», который возвращает строку, содержащую информацию об объекте: Название, Максимальную скорость и Стоимость. Создать также класс наследник Представительский автомобиль, в котором переопределить методы: метод «Стоимость» возвращает число, равное. Максимальная скорость * 250, а метод «Обновление модели» увеличивает скорость на 5 км/ч. В главной программе создать объект класса Автомобиль с максимальной скоростью 140 км/ч и класса Представительский автомобиль с максимальной скоростью 160 км/ч. Вывести на экран информацию об автомобилях. Обновить модели автомобилей и снова вывести информацию о них.
  Создать класс Треугольник, заданный значениями длин трех сторон (a, b, c), с методами «Периметр» и «Площадь». Определить также метод «Информация», который возвращает строку, содержащую информацию о треугольнике: длины сторон, периметр и площадь. Создать также класс наследник Четырехугольник, с дополнительными параметрами – длиной четвертой стороны (d) и длинами диагоналей (e, f) и переопределить методы «Периметр» (сумма всех сторон) и «Площадь». Площадь вычислять по следующей формуле . В главной программе создать объект класса Треугольник и объект класса Четырехугольник и вывести информацию о них. Для упрощения проверки рекомендуется в качестве конкретного объекта класса четырехугольник взять квадрат.
  Создать класс Компьютер со свойствами: Частота процессора (в МГц), количество ядер, объем памяти (в МБ), объем жесткого диска (в ГБ). Определить два виртуальных метода: «Стоимость», возвращающую примерную расчетную стоимость компьютера, рассчитываемую по формуле: Частота процессора * количество ядер / 100 + количество памяти / 80 + объем жесткого диска / 20 и логический метод «Пригодность», возвращающий истину (true), если частота процессора не менее 2000 МГц, количество ядер не менее 2, объем памяти не менее 2048 МБ, и объем жесткого диска не менее 320 Гб. Определить также метод «Информация», который возвращает строку, содержащую информацию о компьютере: частоту процессора, количество ядер, объем памяти, объем жесткого диска, стоимость и пригодность для наших нужд. Создать также класс наследник Ноутбук, с дополнительным свойством. Продолжительность автономной работы (в минутах) и переопределить методы: метод «Стоимость» возвращает число, равное стоимости обычного компьютера + количество минут автономной работы / 10, а метод «Пригодность» возвращает истину, когда и ноутбук пригоден как обычный компьютер, и Продолжительность автономной работы не меньше 60 минут. В главной программе создать обычный компьютер и ноутбук и вывести информацию о них.
  Создать класс Прямоугольник, заданный значениями длин двух сторон (a и b), с виртуальными методами «Периметр» и «Площадь», возвращающими периметр и площадь соответственно, а также виртуальный метод «Увеличить в два раза», увеличивающий в два раза каждую из сторон. Определить также метод «Информация», который возвращает строку, содержащую информацию об треугольнике: длины сторон, периметр и площадь. Создать также класс наследник Прямоугольник со скругленными углами, с дополнительным параметром радиус скругления (r). Для него переопределить: Периметр по формуле p – 8·r + 2·π·r, где p – периметр обычного прямоугольника с теми же сторонами, а Площадь по формуле S – 4·r2 + π·r2, где S – площадь обычного прямоугольника. Также переопределить метод «Увеличить в два раза» так, чтобы он также увеличивал в два раза радиус скругления (по-прежнему увеличивая стороны в два раза). В главной программе создать обычный прямоугольник и прямоугольник со скругленными углами и вывести информацию о них. После этого увеличить оба прямоугольника в два раза и выдать обновленную информацию.
  Создать класс Фотоаппарат со свойствами: Модель, Оптическое увеличение (Zoom, вещественное число от 1 до 35) и материал корпуса (металл либо пластик). Определить виртуальный метод: метод «Стоимость» – возвращает число – стоимость фотоаппарата (в $), рассчитываемую по формуле (Zoom+2)·10, если корпус пластиковый и (Zoom+2)·15, если материал металлический. Определить также метод «Информация», который возвращает строку, содержащую информацию об объекте: Модель, Zoom и Стоимость. Также определить логический метод «Дорогой», который будет возвращать истину (true), если стоимость фотоаппарата больше 200$. Создать также класс наследник Цифровой фотоаппарат, в котором будет дополнительный целый параметр – количество мегапикселей и переопределить метод «Стоимость», который будет возвращать число, равное стоимости обычного фотоаппарата умножить на количество мегапикселей, а также определить новый метод «Обновление модели», который увеличивает количество мегапикселей на 2. В главной программе создать объект класса Фотоаппарат с 4-х кратным оптическим увеличением (Zoom=4) и пластиковым корпусом, а также Цифровой фотоаппарат с металлическим корпусом, 8-ю мегапикселями и 3-кратным оптическим увеличением. Вывести на экран информацию о фотоаппаратах и о том, являются ли они дорогими. Обновить модели цифрового фотоаппарата и снова вывести информацию о нем.
  Создать класс Студент со свойствами: ФИО, факультет, курс, минимальная оценка по экзаменам за последнюю сессию (по 5-ти бальной системе). Определить виртуальные методы: «Перевести на следующий курс», увеличивающий курс на 1, если минимальная оценка не менее 3, иначе не делающий ничего, а также «Стипендия», возвращающий стипендию: 0 руб., если минимальная оценка не выше 3, 1500 руб., если минимальная оценка равна 4 и 2000 руб., если минимальная оценка равна 5. Определить также метод «Информация», который возвращает строку, содержащую информацию о студенте: ФИО, факультет, курс, минимальная оценка по экзаменам и начисленную стипендию. Создать также класс наследник Студент-контрактник, в котором будет дополнительный логический параметр – уплачен ли контракт и переопределены методы «Перевести на следующий курс», увеличивающий курс на 1, если минимальная оценка не менее 3 и за контракт уплачено, а также «Стипендия» возвращающий всегда 0 руб. В главной программе создать объект класса Студент и 2 объекта класса Студент-контрактник (один из которых уплатил за контракт, а другой нет). Выдать информацию о студентах, затем применить к ним метод «Перевести на следующий курс» и снова выдать информацию о них.
  Создать класс Круг заданный своим радиусом (r), с виртуальным методом «Площадь», возвращающим площадь круга, а также виртуальный метод «Увеличить» с одним вещественным параметром – во сколько раз увеличить, увеличивающий радиус в заданное число раз. Определить также метод «Информация», который возвращает строку, содержащую информацию о круге: радиус и площадь. Создать также класс наследник Кольцо, с дополнительным параметром –– внутренним радиусом (rin), при этом унаследованный от родителя радиус будет обозначать внешний радиус. Переопределить метод «Площадь», как разницу между площадью внешнего круга минус площадь внутреннего круга. Также доопределить метод «Увеличить», чтобы он увеличивал также и внутренний радиус. В главной программе создать обычный круг и кольцо и вывести информацию о них. После этого увеличить оба объекта в полтора раза и выдать обновленную информацию.
  Создать класс Табуретка со свойствами: Высота (h, в см), Качество изделия (низкое, среднее, высокое). Определить два виртуальных метода: «количество древесины», которое требует табуретка, по формуле 4·h+12, если качество низкое, и 5·h+14, если качество среднее или высокое, а также «стоимость», равная d·2, для низкого качества, d·3, для среднего качества, d·4, для высокого качества, где d – количество древесины, которое требует данный объект. Определить также метод «Информация», который возвращает строку, содержащую информацию об объекте: Высоту, качество материала, количество древесины и стоимость. Создать также класс наследник Стул с дополнительным свойством: высота спинки (h2, в см), и переопределить метод «количество древесины», по формуле d+2h2+5, где d – количество древесины, которые требует табуретка с такими же параметрами. Метод «стоимость» не переопределять. В главной программе создать экземпляры классов Табуретка и Стул, и напечатать информацию в таком виде: «табуретка» + информация о табуретке и «стул» + информация о стуле.
  Создать класс Фильм со свойствами: Название, Режиссер, длительность (в минутах), количество актеров. Определить виртуальный метод: «Стоимость», возвращающую примерную расчетную стоимость фильма (в тыс. $), рассчитываемую по формуле длительность*20 + количество актеров*30, но если режиссер = «Стивен Спилберг» или «Джеймс Кэмерон», то стоимость в два раза выше (по сравнению с вышеуказанной формулой). Определить также метод «Информация», который возвращает строку, содержащую информацию о фильме: Название, режиссера, длительность, количество актеров и стоимость. Создать также класс наследник Мультфильм, в котором переопределить метод «Стоимость» по формуле длительность*25 + количество актеров*10 (вне зависимости от режиссера). В главной программе создать 2 фильма с режиссерами: «Стивен Спилберг» и «Ежи Гофман», а также мультфильм и вывести информацию о них.
  Создать класс Самолет со свойствами: Марка, Модель, Максимальная скорость (в км/ч), Максимальная высота (в метрах). Определить виртуальный метод «Стоимость» – стоимость самолета, рассчитываемую по формуле Максимальная скорость * 1000 + Максимальная высота * 100 Определить также метод «Информация», который возвращает строку, содержащую информацию об объекте: Марка, Модель, Максимальную скорость, Максимальную высоту и Стоимость. Создать также класс наследник Бомбардировщик, в котором переопределить метод «Стоимость», который вернет удвоенную стоимость относительно формулы для класса Самолет. Также создать класс Истребитель – наследник класса Самолет, для которого переопределить метод «Стоимость» как утроенную стоимость, относительно формулы стоимости для Самолета. В главной программе создать объект класса Самолет, класса Бомбардировщик, класса Истребитель. Вывести на экран информацию о самолетах.

 

 







Дата добавления: 2015-10-15; просмотров: 2003. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия