Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Телефон (Phone) - производный от Communicator




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

Телефон, с которым данный телефон находится на связи (null - нет связи)

Методы

Конструктор без параметров

Открытый метод Connect с параметром-телефоном - устанавливает связь с заданным телефоном.

Открытый метод Send с параметром-строкой - передает сообщение телефону на связи или порождает ошибку, если телефона на связи нет

Открытый метод Drop без параметров - прекращает связь с телефоном

 

Мобильный телефон (Mobile) - производный от Phone

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

Величина текущего счета (вещественное число)

Стоимость одного переданного символа (вещественное число)

Методы

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

Метод Send с параметром-строкой осуществляет передачу строки телефону на связи и уменьшающий текущий счет на стоимость передачи сообщения.

Если денег на счету недостаточно для передачи сообщения, генерируется ошибка.

 

В Main

Создать по два объекта каждого класса.

Продемонстрировать передачу сообщения одного коммуникатора другому.

Продемонстрировать успешную передачу сообщения одного телефона другому.

Продемонстрировать неудачную передачу сообщения одного телефона другому после разрыва связи.

Продемонстрировать неудачную передачу сообщения одного мобильного телефона другому при передаче достаточно длинного сообщения.


 

Билет 12

1. В каких задачах предпочтительнее использовать List<> (вместо одномерных массивов и ArrayList)?

2. Когда освобождается память, выделяемая объектам?

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

Файл (File).

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

- имя файла;

- размер файла.

Методы:

- конструктор, принимающий имя и размер файла и инициализирующий свои закрытые поля;

- метод GetName, возвращающий имя файла;

- метод GetSize, возвращающий размер файла;

- метод ToString, возвращающий строку содержащую имя и размер файла.

 

Исполняемый файл (Executable) – производный от File.

Новых закрытых переменных нет.

Методы:

- конструктор, принимающий имя и размер файла;

- метод Execute со строковым параметром – печатает на экран «Executing», потом имя файла и параметр.

Документ (Document) – производный от File.

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

- программа обработки документа, элемент типа Executable. Методы:

- конструктор, принимающий имя и размер файла;

- метод SetHandler, принимающий элемент типа Executable и устанавливающий программу обработки;

- метод Open, вызывающий метод Execute обработчика с параметром имя файла. Если обработчик не задан (равен null), то метод генерирует ошибку.

 

В Main:

- создать исполняемый файл «word.exe»;

- создать 2 документа: «text.doc» и «table.xls», для первого из них установить обработчик «word.exe»;

- отобразить информацию о файлах на консоли;

- попытаться открыть оба документа, и обработать возникшую ошибку при открытии второго документа.


 

Билет 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% от полной цены).


 

Билет 15

1. Какие переменные относятся к категории значимых?

2. Написать короткий пример вывода всех элементов одномерного массива.

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

Простые часы

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

- счетчик минут

Методы

- конструктор с параметром - начальным счетчиком минут

- ToString - возвращает строку с изображением времени в часах и минутах

- IncMinutes, продвигающий часы на одну минуту вперед

- DecMinutes, возвращающий часы на одну минуту назад

- Закрытые методы Hours и Minutes, определяющие количество полных часов и минут

 

Точные часы

 

Первый вариант - производный от простых часов.

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

- количество секунд в последней неполной минуте

Методы

- конструктор с параметрами - начальным счетчиком минут и количеством секунд в последней неполной минуте

- ToString - возвращает строку с изображением времени в часах, минутах и секундах

- IncMinutes, продвигающий часы на одну минуту вперед

- DecMinutes, возвращающий часы на одну минуту назад

- IncSeconds, продвигающий часы на одну секунду вперед

- DecSeconds, возвращающий часы на одну секунду назад

 

Второй вариант - самостоятельный класс

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

- счетчик секунд

Методы

- открытые методы те же, что и в первом варианте класса

- закрытые методы Hours, Minutes и Seconds, определяющие количество полных часов, минут и секунд

 

В Main

- создать объект класса Простые часы.

- показать время на простых часах.

- продвинуть простые часы на час вперед.

- показать время на простых часах.

 

- создать объект класса Точные часы.

- показать время на точных часах.

- продвинуть точные часы на 1 час и 1 минуту вперед.

- показать время на точных часах.

 

Испытать оба варианта класса Точные часы, убедившись в одинаковом способе их использования в Main


 

Билет 16

1. Какова область видимости статических переменных.

2. В каких задачах предпочтительнее использовать одномерные массивы (вместо ArrayList и List<>)?

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

 

Файл (File).

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

- имя файла;

- размер файла.

Методы:

- конструктор, принимающий имя и размер файла и инициализирующий свои закрытые поля;

- метод GetName, возвращающий имя файла;

- метод GetSize, возвращающий размер файла;

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

 

Папка (Folder).

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

- типизированный список (List) элементов типа File;

- допустимый размер папки.

Методы:

- конструктор, принимающий имя папки и допустимый размер папки;

- метод AddItem, принимающий элемент типа File. Метод в случае превышения допустимого размера папки генерирует исключение. В противном случае - добавляет элемент в коллекцию;

- метод GetSize, возвращающий совокупный реальный размер папки;

- метод ToString, возращающий строковое представление, отражающее содержимое папки.

 

В Main:

- создать корневую папку;

- добавить в нее несколько файлов и папок;

- отобразить текущее состояние на консоли;

- попытаться создать файл с отрицательным размером и обработать возникшую ошибку.

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


 

Билет 17

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

2. Перечислить недостатки использования ArrayList.

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

Переговорное устройство (Communicator)

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

- текст полученного сообщения

Методы

- конструктор без параметра

- Send с параметрами - коммуникатор и сообщение - передача сообщения указанному коммуникатору

- свойство ReceivedMessage для доступа по чтению к тексту полученного сообщения

- закрытый метод Receive с параметром-строкой - получение телефоном сообщения

 

Телефон (Phone) - производный от Communicator

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

- телефон, с которым данный телефон находится на связи (null - нет связи)

Методы

- конструктор без параметров

- Connect с параметром-телефоном - устанавливает связь с заданным телефоном.

- Send с параметром-строкой - передает сообщение телефону на связи или порождает ошибку, если телефона на связи нет

- Drop без параметров - прекращает связь с телефоном

 

Мобильный телефон (Mobile) - производный от Phone

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

- величина текущего счета (вещественное число)

- стоимость одного переданного символа (вещественное число)

Методы

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

- метод Send с параметром-строкой осуществляет передачу строки телефону на связи.

- если денег на счету недостаточно для передачи сообщения, генерируется ошибка.

 

В Main

- создать по два объекта каждого класса.

- продемонстрировать передачу сообщения одного коммуникатора другому.

- продемонстрировать успешную передачу сообщения одного телефона другому.

- продемонстрировать неудачную передачу сообщения одного телефона другому после разрыва связи.

- продемонстрировать неудачную передачу сообщения одного мобильного телефона другому при передаче достаточно длинного сообщения.


 

Билет 18

1. Написать короткий пример вывода всех элементов двумерного прямоугольного массива.

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

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

 

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

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

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

Методы:

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

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

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

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

 

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

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

- расход топлива;

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

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

Методы:

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

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

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

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

 

В Main:

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

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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...