Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Multiple dispatch   Найти похожие ветки 

 
Alkid ©   (2007-12-28 18:56) [0]

Господа, есть необходимость забабахать сабж на традиционных языках с виртуальными методами? (У меня C#, но Delphi в этом смысле эквивалентен)

В целом должно получиться что-то типа визитора, но работающего по двум объектам.

Идеи есть, как это сделать?


 
Johnmen ©   (2007-12-28 19:02) [1]


> Господа, есть необходимость забабахать сабж на традиционных
> языках с виртуальными методами?

Нету.


 
Alkid ©   (2007-12-28 19:06) [2]

Жаль.
Но ведь двойное связывание через визитор можно сделать!
Наверное можно и тройное.


 
Джо ©   (2007-12-28 19:07) [3]

Наверное, я фигню щас сморожу.
Сделать общего наследника для передаваемого типа, в самом методе проверять класс посредством оператора is. Ну или, в конце-концов, сделать кучу overload-методов.


 
Alkid ©   (2007-12-28 19:15) [4]


> Наверное, я фигню щас сморожу.
> Сделать общего наследника для передаваемого типа, в самом
> методе проверять класс посредством оператора is. Ну или,
>  в конце-концов, сделать кучу overload-методов.

Ну на базе оператора is это сделать можно, но я хотел бы выкрутиться исключительно динамическим связыванием через вирт. функции.
Так оно и красивше и быстрее.


 
Джо ©   (2007-12-28 19:22) [5]

> [4] Alkid ©   (28.12.07 19:15)
> исключительно динамическим связыванием через
> вирт. функции.

Совсем я отстал от теории :(
Можно примерчик в псевдо-коде?
Я без иронии.


 
Alkid   (2007-12-28 21:16) [6]


> Совсем я отстал от теории :(
> Можно примерчик в псевдо-коде?
> Я без иронии.

Короче, как сделать это для двух классов, написано тут:
http://en.wikipedia.org/wiki/Visitor_pattern

Я думаю, можно ли сделать что-то подобное для трёх.



Страницы: 1 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.047 c
15-1199198475
Kirill
2008-01-01 17:41
2008.02.03
Удалить ярлыки из адресной строки


1-1193237925
JanMihail
2007-10-24 18:58
2008.02.03
Контекстное меню для Компакт-диска


3-1190651435
jsnx
2007-09-24 20:30
2008.02.03
Проблема с QuickReport в количестве отчетов


2-1199749264
гость
2008-01-08 02:41
2008.02.03
двоичная запись


15-1198740333
Darvin
2007-12-27 10:25
2008.02.03
Запуск русифицированной программы на локализованной Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский