Главная страница
    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.07 c
15-1336739016
БарЛог
2012-05-11 16:23
2013.03.22
отличие os от bios


15-1338548076
oxffff
2012-06-01 14:54
2013.03.22
Сушка или ремонт телефона galaxy s plus i9001


2-1336072088
Глеб
2012-05-03 23:08
2013.03.22
Склеивание форм в дельфи


15-1348271391
Rouse_
2012-09-22 03:49
2013.03.22
Не устанавливайте iOS 6


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





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