3

我正在编写一些关于客观c的东西,但我仍然没有明白,我不知道/理解代表是什么。什么是代表?

也许因为我的主要编程语言是C++和Java ...不知道。

我在网上搜索,找一个英语的解释,但是,好像我不委托是实现了一堆什么C程序员调用回调对象的实例,讲英语:)

回答

3

,但在面向对象的方式。像大多数新概念一样,它实际上只是一个重新命名和混淆的旧惯例。

There are some nice examples here on wikipedia.

+0

而且没有理由不能在C++或Java中使用代理 – 2010-07-15 14:34:50

+0

因此,当我做类似myO bject.delegate = myDelegateObject,我正在做什么? – Artemix 2010-07-15 19:42:16

+1

只要需要提供信息或某些事件发生时,就告诉myObject调用myDelegateObject实现的方法。这些事件应该记录在myObject类的文档中。 myDelegateObject也可以有其他的方法,并且被设计用来完成myObject作为委托需要的其他事情。 – 2010-07-15 21:16:19

0

我喜欢把委托的为“指向函数的指针”。这回到C日,但这个想法仍然成立。

这个想法是,你需要能够调用一段代码,但你要调用的那段代码直到运行时才知道。所以你使用“委托”来达到这个目的。

当一个对象接收到一个请求时,该对象可以自己处理该请求,或者将该请求传递给第二个对象来完成该工作。如果对象决定传递请求,则表示该对象已将处理请求的责任转发给第二个对象。

委托对象是另一个对象在该对象发生某事时会咨询的对象。例如,如果您的汽车发生故障,您的维修人员就是您的代表。你去找你的修理工,并要求他为你修理车(尽管有些人更喜欢自己修理车,在这种情况下,他们是他们自己的代表

你不想执行一段代码当你运行程序后,你需要在发生事件时执行那段代码

没有委托没有用户界面编程是可能的因为当用户发出的事件是点击按钮,输入文本框,选择下拉列表项等