
Билет 11
1. Что означает ключевое слово thisи когда его использование необходимо.
2. Какие синтаксические особенности заголовка конструктора?
3. Разработать 3 класса:
Переговорное устройство (Communicator)
Закрытые переменные
Текст полученного сообщения
Методы
Конструктор без параметра
Закрытый метод Receive с параметром-строкой - получение телефоном сообщения
Открытый метод Send осуществляет передачу сообщения указанному коммуникатору. Параметры - коммуникатор и сообщение.
Свойство ReceivedMessage для доступа по чтению к тексту полученного сообщения
Телефон (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»;
- отобразить информацию о файлах на консоли;
- попытаться открыть оба документа, и обработать возникшую ошибку при открытии второго документа.