The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"C++ и диспетчеризация"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"C++ и диспетчеризация"  
Сообщение от dimonna email(??) on 28-Фев-08, 18:47 
Уважаемое сообщество,

Вопрос к знающим по теме: прочитал в инете что С++ поддерживает только одинарную диспетчеризацию. Это натолкнуло меня на вопрос, что подразумевается под диспетчеризацией языка вообще, и какой например из языков поддерживает множественную диспетчеризацию?

Буду ОЧЕНЬ признателен за исчерпывающую информацию, поскольку обращение к книгам особого результата не принесло.

Спасибо!
Дмитрий

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "C++ и диспетчеризация"  
Сообщение от DeadMustdie email(??) on 28-Фев-08, 20:36 
Двойная диспетчеризация вызова - это возможность динамически определить исполняемый метод не только на основе типа объекта, над которым метод выполняется (поддерживается явным образом в C++, Java и любом другом объектно-ориентированном языке), но и на основе информации о типах аргумента, доступной на этапе выполнения и недоступной статически (на этапе компиляции).

Механизм двойной диспетчеризации дополняет возможности объектных языков средствами динамического связывания на уровне операций (в дополнение к общеизвестному динамическому связыванию на уровне типов объектов). Наибольшее развитие двойная диспетчеризация получила в функциональных объектно-ориентированных языках, наиболее известным из которых является CLOS.

На C++ можно эмулировать двойную диспетчеризацию, типичный пример - шаблон проектирования "Посетитель". Тем не менее, усилия по использованию двойной диспетчеризации в C++ явно превышают получаемые выгоды, поэтому обычно программисты C++ избегают применения подобных методик.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "C++ и диспетчеризация"  
Сообщение от dimonna email(ok) on 29-Фев-08, 08:26 
>[оверквотинг удален]
>
>Механизм двойной диспетчеризации дополняет возможности объектных языков средствами динамического связывания на уровне
>операций (в дополнение к общеизвестному динамическому связыванию на уровне типов объектов).
>Наибольшее развитие двойная диспетчеризация получила в функциональных объектно-ориентированных языках, наиболее известным
>из которых является CLOS.
>
>На C++ можно эмулировать двойную диспетчеризацию, типичный пример - шаблон проектирования "Посетитель".
>Тем не менее, усилия по использованию двойной диспетчеризации в C++ явно
>превышают получаемые выгоды, поэтому обычно программисты C++ избегают применения подобных методик.
>

Отлично, огромное спасибо за подробную информацию!!

С уважением,
Дмитрий

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру