Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
08.06.2015
Размер:
31.23 Кб
Скачать

Практическая работа №10

Задание на практическую работу

В процессе написания тестовых заданий ознакомьтесь с новыми возможностями языка Java, появившимися в версиях 5 и 7.

Задание 1

Везде, где требуется, добавьте аннотацию @Override над методами.

Замените там, где требуется, класс StringBuffer на класс StringBuilder.

Задание 2

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

Задание 3

Исправьте код пакета buildings (интерфейсы Floor и Building а также реализующие их классы) так, чтобы помещения и этажи могли использоваться в цикле for в стиле for-each.

Задание 4

Измените конструкторы в классах этажей и методы в интерфейсах и классах фабрик, имеющие параметрами массив помещений на версии, принимающие в качестве параметров перечисленные помещения (с использованием аргументов переменной длины).

Измените конструкторы в классах зданий и методы в интерфейсах и классах фабрик, имеющие параметрами массив этажей на версии, принимающие в качестве параметров перечисленные этажи (с использованием аргументов переменной длины).

Измените в методах класса Buildings методы, принимающие в качестве параметров массивы, на версии методов с использованием аргументов переменной длины.

Задание 5

Измените метод текстовой записи зданий класса Buildings таким образом, чтобы он использовал возможности форматированного вывода.

Перегрузите методы текстового чтения зданий класса Buildings таким образом, чтобы они использовали возможности форматированного ввода и вывода и имели аргумент типа Scanner.

При проверке работы методов используйте блок try с ресурсом.

Задание 6

Измените класс DwellingFloor этажа жилого здания так, чтобы в нем для хранения данных использовался не массив квартир, а объект класса, реализующего интерфейс java.util.List, причем в параметризованной форме (тип-параметр – тип помещения). Рекомендуется использовать оператор «алмаз» там, где это возможно.

Обратите внимание на вид исключения, выбрасываемого методами списков при выходе за пределы списка.

Также обратите внимание на то, как изменятся методы добавления и удаления помещения на этаже, возвращения итератора, клонирования.

Соседние файлы в папке Практика