![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Ortega |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.11.2005 Где: Харьков, Украина Репутация: 4 Всего: 6 |
SoulKeeper, ППКС
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок |
|||
|
||||
w1nd |
|
||||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Не стоит драматизировать, SoulKeeper. Указатели на методы и макросы не есть явления одного порядка с платформо-зависимыми компонентами и управлением памятью. Хотя платформо-зависимые компоненты, как java extension, не помешали бы ![]()
С головой хватает и возможностей ассемблера. С головой хватает и возможностей hex-редактора. Только вот лопатой очень много махать ![]() Это сообщение отредактировал(а) w1nd - 5.9.2008, 11:22 -------------------- ![]() ![]() |
||||
|
|||||
Ortega |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.11.2005 Где: Харьков, Украина Репутация: 4 Всего: 6 |
Насколько я что-то понимаю, ссылки на функции - реализация полиморфизма в структурных языках программирования.
В Java для этого есть другие механизмы. Человеку, больше привыкшему к тому же Си, это кажется неудобным и неправильным. Однако нужно понимать, что если механизмы другие, то и подход должен быть другой. --------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок |
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Неправильно понимаете. В java, конечно, есть механизмы, с помощью которых можно возместить отсутствие рекомого в некоторых ситуациях. Например, вместо указателя на функцию может передаваться экземпляр интерфейса. Причём вариант с объектом интерфейса значительно более громоздок и благодаря отсутствию макросов с этим ничего нельзя сделать. Я уже не говорю, насколько более гибкий и лаконичный механизм можно построить, используя параметризованные ссылки на методы. Но это только одна сторона вопроса. Более чем в половине случаев использования рефлексии имена методов и базовые классы известны заранее. Наличие ссылок на методы избавило бы от поиска методов класса, от обработки целой кучи исключений, от ошибок, возникших из-за элементарных опечаток. Это сообщение отредактировал(а) w1nd - 5.9.2008, 17:21 -------------------- ![]() ![]() |
|||
|
||||
SoulKeeper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.1.2007 Где: Ukraine, Lviv. Репутация: 11 Всего: 15 |
Для чего рефлексия то для заранее известного? Интерфейсы и кастинг типов уже отменили?
|
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
SoulKeeper, я же уже писал, для чего - чтобы избавиться от громоздких конструкций в коде, от так называемых "рюшечек". Например для того, чтобы для обработки событий не требовалось бы создавать анонимный класс (и класс - адаптер, поставляющий заглушки для методов интерфейса). -------------------- ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |