Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit()


Скачать 338.52 Kb.
НазваниеРешение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit()
страница2/8
ТипРешение
filling-form.ru > Туризм > Решение
1   2   3   4   5   6   7   8

1.6Короткая задача intensive-3


Доработать часть примера example2, связанную с объектами хранения данных и рассматриваемую на семинаре 3 (работать в пакете фамилия.example2, скопировав туда 4 класса хранения данных). Пусть нужно добавить в гипотетическую информационную систему института возможность логина пользователей, причем она должна быть у преподавателей и начальников (причем пусть начальник не наследует Person), а у студентов этой возможности не планируется. Следовательно, для хранения информации о логине и пароле (а также для проверки пароля в специальном методе) классу Teacher наряду с Person требуется другой суперкласс User (другой, т.к. Student наследует Person). Задача – реализовать множественное наследование через одиночное наследование и агрегацию:

1. Реализовать любым образом (2 балла)

2. Выделить интерфейс Human, который реализуют 2 из 3-х видов людей – аналогично тому, как класс Person расширяют другие 2 вида людей (1 балл)

3. При необходимости (т.е. если не установлен ранее) инициализировать агрегированный в Teacher объект («делегат») в отдельном методе – см. аналог в примере 1 GUIShower.*TextArea() (1 балл)

4. Указать достоинства и недостатки сделанного выбора суперкласса для Teacher (2 балла)

5. В Rational Rose импортировать (reverse engineer) и показать на диаграмме классы пакета фамилия.example2 (1 балл)

Итого за задачу: 7 баллов

1.7Практическая задача base-4: «Архиватор»


Написать консольную утилиту для работы с zip файлами, которая использовала бы стандартные java классы для работы с файлами zip формата (пакет java.util.zip):

1. Написать консольную программу, которая бы могла упаковывать, распаковывать и добавлять файлы в zip архивы. Как аргументы командной строки, программа должна принимать имена входных файлов и имя выходного архива, в который нужно упаковать их. Для распаковывания должна принимать имя архива и, опционально, путь к (существующей или не существующей) директории для распаковки. (5 баллов)

2. Если вместо входного файла указана директория – упаковывать ее содержимое рекурсивно (2 балла).

3. Поддерживать комментарии к архивам (чтение комментариев у существующего архива, добавление комментария в существующий архив, создания архива с комментарием) (3 балла: по одному за каждое «подтребование»)

Итого за задачу: 10 баллов.

1.8Короткая задача intensive-4


Реализовать классы для создания, записи и загрузки объектов ("людей" из примера 2) на основе диаграммы классов, рассмотренной на семинаре 7 (или на основе другой подобной диаграммы, удовлетворяющей принципам ОО проектирования). Рекомендуется использовать для этого генерацию кода из Rational Rose (см. приложенный к семинару 7 файл). На выходе должно быть 2 программы, аналогичные по возможностям программам PersonArrayWriteTest и PersonArrayReadTest:

1. Написать классы (с main) для создания и записи людей аналогично PersonArrayWriteTest, но с хранением людей в java.util.List (3 балла), а также в java.util.Map (+1 балл)

2. Написать классы (с main) для загрузки и сортировки людей аналогично PersonArrayReadTest (2 балла; если с проектированием иерархии интерфейса PersonSorter - 4 балла)

3. Написать класс ReadPersonCreator, использующий PersonReader для создания людей; а также соответствующий main (2 балла)

Итого за задачу: 7-10 баллов

1.9Практическая задача base-5, intensive-5: «Робот»


Написать робота для игровой платформы Robocode. Робот – это Java-класс, наследующийся от robocode.Robot и определяющий (в методе run()) некоторое поведение робота на игровом поле (передвижение, слежение за противниками, стрельба). Одна из целей задачи заключается в получении навыка использования документации по незнакомой тематике.

1. Написать и протестировать работоспособного (двигающегося и стреляющего) робота, логика которого не совпадает с логикой примера из пакета sample (который является частью платформы). (2 балла).

2. Находить робота-противника на поле боя размером в 5000 на 5000. При таком размере поля радар не охватывает всю поверхность, и поэтому противника нужно будет искать. (3 балла)

3. Применить при реализации робота шаблон State/Strategy (т.е. реализовать переключение между типами поведения класса не через многочисленные условные выражения, «разбросанные» по всему коду, а через делегирование некоторых функций экземпляру интерфейса/абстрактного класса State – так, чтобы при переключении в какое-либо состояние устанавливать в качестве делегата одну из реализаций State). Разные состояния шаблона State следует использовать для описания действий робота при поиске противника и, собственно, при ведении боя, можно также переключаться в разные состояния при битве с одним и со многими противниками (метод getOthers() возвращает число противников). (5 баллов)

4. Побеждать написанным роботом большинство роботов пакета sample (4-10 баллов):

* при битве типа 1 на 1, то есть в основном режиме (7 баллов, если всех);

* при коллективной битве «каждый сам за себя» (+3 балла; робот должен занять первое место по очкам и остаться в живых, как минимум, в половине раундов; как правило, победа всех в режиме «1 на 1» автоматически приведете к такой победе; ни один из роботов пакета sample не имеет специальной стратегии для этого режима).

5. Победить робота автора задачи – 5 баллов.

6. Занять место в турнире между студентами учебного центра (5–15 баллов):

Баллы за все нумерованные требования суммируются друг с другом.

Итого за задачу: 10 баллов за реализацию + 7-30 баллов за победы.
1   2   3   4   5   6   7   8

Похожие:

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconТиповая форма договора банковского вклада с неснижаемым остатком в рублях «Премиальный»
Года), с одной стороны, и "Вкладчик" (либо "Вноситель" в случае внесения вклада на имя третьего лица), с другой стороны, вместе либо...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconКонтрольная работа по термодинамике выполняется либо в отдельной...
Изучение дисциплины базируется на знании материала дисциплин: «Физика», «Химия», «Математика», «Гидравлика», «Инженерная графика»,...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconR/3 System Release 46B 30. 10. 2000
Разработка с использованием abap-инструментальных средств (упражнения) 28

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconPhone Conversation”
В его основе лежит решение какой-либо задачи, проблемы (от греческого problema- «задача, задание»)

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() icon1 общая характеристика гостиничного бизнеса 6
Характеристики компьютерных программ бронирования (на примере Fidelio Hotel Management System) 52

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconПро gps
«Global Positioning System», которое дословно можно перевести, как «глобальная система позиционирования»

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconDiasoft System Architect
Перед началом работы с системой описания бизнес-объектов необходимо проверить у себя на машине

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconРешение задач (с показом алгоритма решения)
Эссе — (фр essai – попытка, проба), небольшое прозаическое сочинение свободной композиции, выражающее впечатления автора от чего...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconРекомендации ООН st/SG/AC. 10/30 «Globally Harmonized System of Classification...
Оон st/SG/AC. 10/30 «Globally Harmonized System of Classification and Labelling of Chemicals (Согласованная на глобальном уровне...

Решение задачи: либо полное переопределение класса System (вместе с out и т д.), либо делается static блок инициализации, где на консоли печатается другое и выполняется System exit() iconДокументация об открытом запросе предложений
Работы по техническому обслуживанию программного комплекса интегрированной диспетчерской службы на базе модуля pi-system

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск