Главная страница
    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.47 MB
Время: 0.078 c
2-1331367948
niro---
2012-03-10 12:25
2013.03.22
Заставить работать TWebBrowser в потоке из DLL


2-1347519862
MsGuns
2012-09-13 11:04
2013.03.22
Колонка для "птичек" в гриде.


15-1352320203
Юрий
2012-11-08 00:30
2013.03.22
С днем рождения ! 8 ноября 2012 четверг


15-1342427412
alexdn
2012-07-16 12:30
2013.03.22
Золотые слова Гейтса


2-1347157458
alexdn
2012-09-09 06:24
2013.03.22
Сохранить картинку





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