![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Che0 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
Пишу программу отображающую работу автомата с напитками.
сначала задаю набор доступных напитков,и их марки(чай:Липтон,кофе:Neckafe,сахар:Свекольный и тд.)
тип напитка это отдельный енам, а марка -это его параметр соответственно на основе этого уже хочу как бы делать заказ, Создовая обьект(напиток) с параметрами(сливки, сахар и тд.)
туплю вот над чем: как мне сделать что бы в Machine можно было гибко задавать параметры .т.е что бы можно было задать только кофе и сахар, Или же и кофе и сахар и чай и пиво и все это в любой последовательности. Как бы создавать разные автоматы по функционалу. |
||||
|
|||||
aleksandy |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 4 Всего: 5 |
Все параметры реализуют один интерфейс. А конструкторы принимают на вход массив объектов этого типа. Вместо явного указания массива можно использовать переменное количество аргументов. Как-то так...
|
|||
|
||||
Che0 |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 1.11.2010 Репутация: нет Всего: нет |
с интерфейсами я пока не умею работать,но если я правильно понял то так не пойдет, так как в этом случае при изменнении порядка(количесство)набора доступных напитков в Machine , мне придется в каждом классе напитка изменять индекс массива для нужного енама: если например так
то индекс 0
а если так
то индекс надо менять на 1
а надо что б всегда обращатся, к чему то одному, чтоб не переделывать весь код, при изменнени задачи набора доступных напитков |
||||||||||
|
|||||||||||
Astoret |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 16.4.2009 Репутация: нет Всего: 1 |
Я бы сделал примерно так, если я тебя правильно понял:
Ну класс машины с настройкой валидации напитков еще прикрутить можно, но мне лень уже
|
||||||
|
|||||||
_Y_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
А если в качестве входных данных использовать коллекцию? Или уже внутри конструктора складывать все это в отсортированную коллекцию? Тогда последовательность каждый раз будет одной и той же. Или такой вариант: По умолчанию создавать TreeMap с ключами, соответствующими полному списку доступных удовольствий (сахар, лимон, и.т.п). Потом загонять входные параметры в TreeMap: Содержние TreeMap после создания (ключ - значение):
Предположим, входные параметры содержат значения ("coffee:COFFEE1","sugar:SUGAR2", "lime:green") в любой последовательности. Грузим их в тот же TreeMap:
При обработке TreeMap пропускаем шаги содержащие NULL. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |