Главная страница
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.48 MB
Время: 0.052 c
15-1198529781
Evanescence
2007-12-24 23:56
2008.02.03
Ищу название и исполнитель песни


2-1199350168
Xmen
2008-01-03 11:49
2008.02.03
Error while posting updates


15-1198843903
Wolf
2007-12-28 15:11
2008.02.03
Подскажите какие файлы в проекте отвечают за хранение версии


15-1199107075
Иксик
2007-12-31 16:17
2008.02.03
Посоветуйте русскую песню, чтобы немцам поставить :)


2-1199569366
петрович07
2008-01-06 00:42
2008.02.03
Двумерный массив,задача