Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > наиболее гибкое задание параметров |
Автор: Che0 1.11.2010, 22:57 | ||||
Пишу программу отображающую работу автомата с напитками. сначала задаю набор доступных напитков,и их марки(чай:Липтон,кофе:Neckafe,сахар:Свекольный и тд.)
тип напитка это отдельный енам, а марка -это его параметр соответственно на основе этого уже хочу как бы делать заказ, Создовая обьект(напиток) с параметрами(сливки, сахар и тд.)
туплю вот над чем: как мне сделать что бы в Machine можно было гибко задавать параметры .т.е что бы можно было задать только кофе и сахар, Или же и кофе и сахар и чай и пиво и все это в любой последовательности. Как бы создавать разные автоматы по функционалу. |
Автор: aleksandy 2.11.2010, 14:22 |
Все параметры реализуют один интерфейс. А конструкторы принимают на вход массив объектов этого типа. Вместо явного указания массива можно использовать переменное количество аргументов. Как-то так... |
Автор: Che0 2.11.2010, 15:30 | ||||||||||
с интерфейсами я пока не умею работать,но если я правильно понял то так не пойдет, так как в этом случае при изменнении порядка(количесство)набора доступных напитков в Machine , мне придется в каждом классе напитка изменять индекс массива для нужного енама: если например так
то индекс 0
а если так
то индекс надо менять на 1
а надо что б всегда обращатся, к чему то одному, чтоб не переделывать весь код, при изменнени задачи набора доступных напитков |
Автор: Astoret 2.11.2010, 17:20 | ||||||
Я бы сделал примерно так, если я тебя правильно понял:
Ну класс машины с настройкой валидации напитков еще прикрутить можно, но мне лень уже
|