Factory method pattern

  • 18
  • Недоступна
1. Внимательно посмотри, какие классы у тебя есть. 2. В отдельных файлах в пакете common создай классы JpgReader, PngReader, BmpReader, которые реализуют интерфейс ImageReader. 3. В отдельном файле в основном пакете создай класс ImageReaderFactory с одним методом.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (319)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sergey Paleny
Уровень 22, Ставрополь, Россия
15 июня, 06:34
Твою ж... Вообще забыл про КИДАТЬ == throw... Если бы вспомнил это раньше, то задачка оказалась бы не такой сложной))) А так полчаса пытался ловить исключение try - catch 😁
[M210] Java Developer
11 июня, 10:33
А казалось бы, а причем тут Thread'ы и многопоток?)))
Blynchik Работает в Pegas Touristik
8 июня, 14:22
иначе выбросить исключение. все, больше ничего не надо
MapXyZ
Уровень 33, Минск, Belarus
4 мая, 15:26
2 подводных камня: 1. Нельзя использовать enchanced swich это такого вида: case BMP -> new BmpReader(); 2. Не совсем ясно для чего проверка на null если при любом выборе кроме 3-х в enum'е бросится требуемое исключение... неважно какой неверный тип бросят...
milyasow
Уровень 30, Москва, Russian Federation
18 мая, 15:25
Если в Enum попадет null, то получится NullPointerException.
MapXyZ
Уровень 33, Минск, Belarus
19 мая, 08:58
Спасибо, всегда полезно глянуть на задачку потом.. когда мозг уже не кипит - становится понятнее что почему)))
Anonymous #3036451
Уровень 27, Falls Church, United States
28 апреля, 14:30
Полезная задача. Не знал что в switch нельзя передавать null.
Yakov Bashkurov
Уровень 17, Тобольск, Россия
26 апреля, 05:58
сделал кучу попыток, прежде чем зашел в комменты за подсказкой. Уже не помню свои ошибки, но в итоге вариант решения получился такой: В ImageReaderFactory cначала надо проверить входящий параметр на Null, если он равен null (if (x == null), то создаем исключение IllegalArgumentException ( не NullPointerEx.!!). Далее ищем константы. Вот тут я сначала просто прописал if`ы, но надо было писать if else`ы. ну и в конце else, где создаётся новое исключение ( new IllegalArgum...("неизвестный код картинки)) в итоге, недоволен собой, потому что зашел в комменты до решения задачи.
Aidos
Уровень 17, Алматы, Казахстан
8 апреля, 23:43
потратил 10 попыток из-за того что вместо IllegalArgumentException написал IllegalAccessException 😄
Егор Маркин Software Architect в NASA
22 марта, 18:22
странно, но со свитчом кидало null pointer exp. идеха посоветовала поменять на иф - норм, кинуло IllegalArgumentExp. И еще претензия к вале - наконец обновите sdk или что у вас, почему enchanced switch не компилит?))
Евгений
Уровень 24, Санкт-Петербург, Russian Federation
23 февраля, 17:32
беспредел обязательно надо проверку на Null делать только зачем если в кейсе по дефолту пробросится исключение не важно нулл или нет.
SWK
Уровень 16
22 марта, 14:21
Абсолютно согласен. Проверялка требует отдельной проверки на null, которая совершенно не нужна, т.к. во всех случаях, кроме 3х правильных, нужно выбросить исключение. Ну так оно и выбрасывается, как только выяснили, что ни один не подходит.
Сонмониус
Уровень 32, Харьков, Ukraine
2 июня, 19:19
Если начнется проверка, и окажется, что в параметр передали null, выбьет ошибку NullPointerException, а у вас в методе указана IllegalArgumentExp. Иде думает что это непредусмотренная ошибка, и завершает программу не так, как хотели вы, а так, как это по дефолту указано для объектов NullPointerException.
SWK
Уровень 16
5 июня, 16:58
Начнём с того, что программу завершает не IDE.... :) Кто сказал, что мы не хотели НулПойнтера? Задачку временно не вижу, поэтому вспомнить, чего мы хотели, не могу.
Андрей
Уровень 35
12 февраля, 16:22
Я один подумал, что нужно ловить IllegalArgumentException и выводить в консоль "Неизвестный тип картинки"?)