Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
2-1199443802
Барковъ
2008-01-04 13:50
2008.02.03
Antialiasing


6-1179759600
Nucer
2007-05-21 19:00
2008.02.03
Как определить, что соединение разорвано?


2-1198596187
@!!ex
2007-12-25 18:23
2008.02.03
Есть ли способ приклеить кнопку к чужему окну?


2-1199956854
em240
2008-01-10 12:20
2008.02.03
Вызов DataModule из DLL.


15-1199119938
Kerk
2007-12-31 19:52
2008.02.03
Белорусский блогер добился от властей поставок кефира




   Наверх