Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
Прогер   (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 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.066 c
6-1251381307
Student85236
2009-08-27 17:55
2013.03.22
Уважвемые коллеги! как сделать чтоб не ждать ответа от get запрос


2-1330523358
Alex_C
2012-02-29 17:49
2013.03.22
Resize bitmap


1-1298972588
rxQ
2011-03-01 12:43
2013.03.22
Положение объекта в rxRichEdit


15-1352816692
Очень Злой
2012-11-13 18:24
2013.03.22
Как в WinXP сменить сочетание клавиш для переключения раскладки?


15-1350574326
ES
2012-10-18 19:32
2013.03.22
TImageList, ссылка с другой формы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский