Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модуль 2 ООП ФИТ 2к.doc
Скачиваний:
13
Добавлен:
20.05.2015
Размер:
144.38 Кб
Скачать

Билет 13

1.Написать короткий пример, который вызовет использование сборщика мусора.

2.В каких ситуациях используются ключевые словаoutиrefдля параметров ссылочного типа

3. Разработать два класса.

Транспортное средство (Transport).

Закрытые переменные:

- расстояние, которое проехало транспортное средство (пробег).

Методы:

- конструктор по умолчанию;

- открытый логический метод Move с вещественным параметром, который увеличивает пробег на указанное значение и возвращает истину;

- открытый метод GetTotalDistance, возвращающий пробег;

- открытый метод ToString, возвращающий информацию о состоянии объекта в виде строки.

Автомобиль (Car), производный от транспортного средства (Transport).

Закрытые переменные:

- расход топлива; объем топливного бака;

- признак, заведен ли двигатель автомобиля;

Методы:

- конструктор, принимающий и инициализирующий величины расхода и объема бака;

- методы "включающий"/"выключающий" автомобиль (On/Off);

- метод Move, принимающий расстояние, которое должен проехать автомобиль. Метод должен генерировать исключение в случае, если двигатель автомобиля был не заведен, пересчитывать величину оставшегося топлива и возвращать истину в случае наличия топлива в баке.

- открытый метод ToString, возвращающий информацию о состоянии объекта (пробег и объем топлива) в виде строки.

В Main:

- создать транспортное средство(Transport) и итерационно "проехать" (Move) на нем некоторое расстояние. Вывести информацию о состоянии транспортного средства;

- создать автомобиль и попытаться "проехать" (Move) на нем c выключенным двигателем;

- завести двигатель и "проехать" на авто некоторое расстояние и вывести состояние автомобиля.

Билет 14

1. Почему в методах создаваемых программистом классов не рекомендуется использовать классConsole?

2. В каких задачах предпочтительнее использовать прямоугольные массивы вместо «рваных»?

3. Разработать 3 класса:

Печатное издание (Press)

Закрытые переменные

Название

Цена (в грн. за 1 ед. – вещественное число)

Методы

Конструктор с параметрами: название, цена

Свойство Price для доступа по чтению для получения цены

Журнал (Magazine) - производный от Press

Закрытые переменные

Периодичность (количество номеров в год)

Методы

Конструктор с параметрами: название, цена, количество номеров в год

Открытый метод YearSubscribeCost, вычисляющий стоимость годовой подписки (цена за 1 ед. умножить на количество номеров в год)

Открытый метод ReducedYearSubscribeCost, вычисляющий стоимость льготной годовой подписки с параметром - количество процентов от стоимости полной подписки

Книга (Book) - производный от Press

Закрытые переменные

Автор

Количество страниц (вещественное число)

Тип обложки (мягкая, твердая)

Методы

Конструктор с параметрами для переменных класса.

Метод SetPrice (без параметров) – устанавливающий цену книги как количество страниц * 0,2грн + 5 грн. (если обложка мягкая) или + 15 грн. (если обложка твердая), если цена не установлена (т.е. равна 0), иначе генерирующий ошибку («Цена уже установлена»)

Во всех классах описать метод ToString, возвращающий информацию об объекте.

В Main

Создать по две книги (не задавать их цену, т.е. цена=0) и два журнала.

Установить цену обеих книг. Попробовать установить цену второй книги еще раз и перехватить ошибку.

Выдать информацию о книгах и журналах.

Посчитать суммарную стоимость обеих книг, годовой подписки на первый журнал и льготной годовой подписки на второй журнал (90% от полной цены).