Вниз
Скачать: CL | DM;

Делегаты и функторы.   Найти похожие ветки 

← →
Прогер   (2012-08-04 23:03) [0]

Пожалуйста, объясните про них на примере Дельфи. (Если они там есть)
Или на пальцах.

В Википедии не понятно что-то. Спасибо.


← →
turbouser ©   (2012-08-04 23:38) [1]

RTFM, luke


← →
DVM ©   (2012-08-04 23:47) [2]

Оба этих термина имеют несколько разное значение в разных языках.

Конкретно в делфи делегатов как таковых нет (ключевое слово delegate есть в языке Oxygene - близком родственнике Delphi но под .net), но в делфи есть очень близкое по смыслу понятие - событие. На событиях в делфи построена вся VCL фактически. Все эти события и обработчики событий в основе своей используют фактически делегаты. Делегат - это объектно ориентированный указатель на функцию.


← →
Прогер   (2012-08-05 00:59) [3]


> DVM ©   (04.08.12 23:47) [2] Делегат - это объектно ориентированный
> указатель на функцию.


Это что ли?



type
 TEvent = procedure of class;



← →
DVM ©   (2012-08-05 10:07) [4]


> Прогер   (05.08.12 00:59) [3]


>
> Это что ли?
>
>
>
> type
>  TEvent = procedure of class;
>


Конкретно в Delphi:

TNotifyEvent = procedure(Sender: TObject) of object;


← →
wl ©   (2012-08-05 11:03) [5]


> Прогер

если ты не знаешь, что это, и не понимаешь как это использовать - просто забей.
http://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)
ВСЕГДА следуй этому принципу


← →
wl ©   (2012-08-05 11:09) [6]

забыл уточнить, что знать эти вещи всё-таки надо, на случай, если придется пользоваться библиотекой, использующей это


← →
Прогер   (2012-08-05 14:40) [7]


> DVM ©   (05.08.12 10:07) [4]


А функторы что такое?


← →
wl ©   (2012-08-05 16:07) [8]

http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%82%D0%BE%D1%80_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)


← →
ProgRAMmer Dimonych ©   (2012-08-06 09:07) [9]

> [8] wl ©   (05.08.12 16:07)
> http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%82%D0%BE%D1%80_(
> %D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%
> D0%B0%D0%BD%D0%B8%D0%B5)



> [0] Прогер   (04.08.12 23:03)
> В Википедии не понятно что-то. Спасибо.


← →
oldman ©   (2012-08-08 13:52) [10]


> ProgRAMmer Dimonych ©   (06.08.12 09:07) [9]
> > [0] Прогер   (04.08.12 23:03)
> > В Википедии не понятно что-то. Спасибо.


Функтор:
Функтор (программирование) — объект, который можно использовать как функцию;

ну о-о-о-очень непонятно ))))


← →
Прогер   (2012-08-08 20:14) [11]


> oldman ©   (08.08.12 13:52) [10]
>
>
> > ProgRAMmer Dimonych ©   (06.08.12 09:07) [9]
> > > [0] Прогер   (04.08.12 23:03)
> > > В Википедии не понятно что-то. Спасибо.
>
>
> Функтор:
> Функтор (программирование) — объект, который можно использовать
> как функцию;
>
> ну о-о-о-очень непонятно ))))
>


Пример в студию.


← →
Плохиш ©   (2012-08-08 20:21) [12]


> Пример в студию.

Чем примеры из вики не угодили?


← →
ProgRAMmer Dimonych ©   (2012-08-08 20:21) [13]

> [11] Прогер   (08.08.12 20:14)

А вот пример есть в Вики.


← →
oldman ©   (2012-08-09 08:50) [14]


> Прогер   (08.08.12 20:14) [11]
> Пример в студию.


if Label1.Visible then


← →
Прогер   (2012-08-09 16:24) [15]


> oldman ©   (09.08.12 08:50) [14]
>
>
> > Прогер   (08.08.12 20:14) [11]
> > Пример в студию.
>
>
> if Label1.Visible then


Получается функторы это ничего особенного?



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

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



Память: 0.48 MB
Время: 0.063 c
15-1347565047
Artem
2012-09-13 23:37
2013.03.22
Сегодня выбрал тему дипломный работы.


15-1338635972
М
2012-06-02 15:19
2013.03.22
Зависает при потоке


15-1335540590
>|<
2012-04-27 19:29
2013.03.22
CoolTrayIcon


2-1339439502
vasa777
2012-06-11 22:31
2013.03.22
название файлов через точку


15-1348518602
Юрий
2012-09-25 00:30
2013.03.22
С днем рождения ! 25 сентября 2012 вторник




   Наверх