На этом уроке мы попробуем расширить диапазон игрушек в мешке Деда Мороза. Сначала попробуем это сделать через обобщение, и окажемся в тупике. В конце урока мы найдём простое правильное решение, и выясним, почему стоит делать именно так. Совет: сначала посмотрите видео полностью, не внося изменений в код.
Дата отправки отчёта:
28 ноября 2016 г.
Задание выполнено: за
1 час. 00 мин.
Чему научился:
Ну этот енум. Кто его знает чего там этот дед мороз притащит.
Что было сложным:
Написать хоть один работающий интерфейс для енума. На это ушло больше часа, не выходит. :-)
Комментарии:
Это никак не статические переменные, как дни недели, например. Но ради обучения - вот. Особо ничего исправлять не пришлось. В сумке определила какой предмет из набора ожидается.
abstract Enum<?>[] consts(); static public Enum<?> getGift(String line){ for (Gifts g:Gifts.values()){ for (Enum<?> c : g.consts()){ if (c.name().equals(line)){ return c; } } }; return null; } ... Enum<?> g = Gifts.getGift(line); ... ArrayList<Enum<?>> list = fr.Read();
И конкретный енум static public Enum<?> getGiftFrom(String line, Enum<?>[] cl){ for (Enum<?> c : cl){ if (c.name().equals(line)){ return c; } } return null; } ... g = Gifts.getGiftFrom(line, Fruit.values());
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Добавил несколько машинок к фруктам =)
По хорошему лучше или переименовать енум в Gifts и пусть там будут все подарки которые нужны.
Либо хранить подарки в файле и считывать их из него во время запуск =) =)
Научился: поскольку класс enum является сборником констант, не предполагаемых для корректировки в процессе работы программы, его дублирование и переключение между дубликатами нецелесообразно
Верным решением при необходимости изменений, является помещение всех констант в едином перечислении enum