| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > передача параметров в функцию |
| Автор: katala 27.5.2006, 11:07 | ||
| народ помогите!! можно ли в функцию в качестве одного из параметров передавать имя другой функции. в си++ это будет выгледеть так
можно что то такое сделать в jave????? |
| Автор: Tirael 27.5.2006, 11:42 |
| А зачем тебе надо передавать ИМЯ функции...ума не приложу |
| Автор: powerOn 27.5.2006, 12:01 |
Это называется CallBack. Но в Java такого нет. Можно передать в функцию объект с извесным интерфейсом и вызвать его метод. |
| Автор: ALKS 27.5.2006, 12:18 |
| katala, опомнись В Java нету функций. есть только методы классов. как ты можеш передать параметром то чего не бывает? |
| Автор: katala 27.5.2006, 16:09 |
| ALKS, я и имел ввиду методы. зачем придираться к словам???? |
| Автор: tux 27.5.2006, 16:24 |
Судя по примеру из С++ ты имел ввиду именно методы. В Java есть примитивные типы и ссылки на объекты, больше ничего передать в параметре не удастся. Если нужен один конкретный метод, реализуй интерфейс. |
| Автор: ALKS 27.5.2006, 18:53 |
| я не придераюсь к словам. в С++ тоже ссылку на метод класса хрен передаш. |
| Автор: Abracadabr 27.5.2006, 21:01 | ||
1) с помощью reflection; 2) с помощью паттернов Strategy / Command; 3) комбинация 1 и 2. А насчет имени - как раз в яблочко: иногда именно это и нужно Элементарно делается с помощью 1. |
| Автор: ShamanTrirukiy 28.5.2006, 13:07 | ||
Интересно, какое отношение шаблоны проектирования, абсолютно не превязанные к языку программирования, имеют к возможностям Java?
Честно говоря, я не вижу возможных вариантов "вкручивания" сюда этого шаблона(да и шаблонов вообще, ведь речь идёт о передаче параметра в функцию). Если я не прав - |
| Автор: Abracadabr 28.5.2006, 15:57 |
| Сразу видно, что про паттерны проектирования ты знаешь одно название Более того, если бы ты хотя бы прочитал цитату (из "Применение шаблонов Java") перед тем как постить ее, то понял бы, что именно о вызове неизвестной наперед функции там и идет речь Также именно паттерны Strategy / Command ты и предлагал сам, когда говорил |
| Автор: ShamanTrirukiy 29.5.2006, 16:21 | ||||||
| Одна ошибочка вышла - хотел процитировать следующее: То, что
и сам прекрасно знаю, но это не ответ на вопрос
ведь написать интерфейс и передавать его реализацию(ОБЪЕКТ) не есть передача МЕТОДА в качестве одного из параметров другому методу, решение поставленной задачи я вижу только одно - РЕФЛЕКСИЯ. Но использовать Strategy / Command в сочетании с рефлексией - КАК И ЗАЧЕМ??? По-моему, данный вариант здесь неуместен(сходу не могу вообще придумать задачку, где это может понадобится). ОФФТОП:
Обижаете, гражданин начальник! Зря вы так... Мож, "померяемся" знаниями в этой области? Если да - у меня есть предложение, как это реализовать... |