题
让我们考虑一个小方法:
int MyFunction(string foo, int bar)
{
...
}
和一些电话:
MyFunction("",0)
int x = MyFunction(foo1,bar1)
您如何向非技术人员解释这一点?有人有一个很好的比喻吗?
我多次尝试解释方法调用(或函数应用),但都失败了。在这里我似乎找不到合适的词语。
问候 福基
更新:对我来说解释参数如何传递/匹配很重要。
解决方案
系统看作在办公桌出纳员。要叫你填写一个函数的形式向系统做一些事情,把它交给出纳员。他们熄灭,做的工作,然后把你背写有结果的一张纸。根据您希望系统做什么,你选择一个合适的形式。
有关的MyMethod的形式表示:
MYMETHOD REQUISITION FORM:
String _______
int _______
这类似于可在各种方式进行扩展。那岂不是方便的,如果形式告诉你什么是字符串和INT的目的是?这就是使用命名参数的语言进来了。
有关OO,而不必对整个系统中的一个办公桌,每一个对象是它自己的出纳员,你的手一个形式给他们,为了完成任务,他们一方面有更多的形式来回每间其他。等
其他提示
(高度非技术性的解决方案)
这就像下订单:
- 调用方法=拨打正确的号码
- 传递参数 = 提供您的详细信息
- 该方法所做的就是工作
- 得到返回值=得到你订购的东西
您可以告诉功能可为可为其它被调用的对象的处理。比方说,“你”是有功能的“工作”的对象。你的“老板”是调用对象。然后你的老板可以打电话给你具有不同类型(这是参数)一起工作。
在结束你的“老板”可以问“你”来工作(“编码本”)或工作(“检查电子邮件”)或工作(“完成的最后期限”),等等。
如何委派任务?想象一下,你正在烤蛋糕,并跑出了面粉。相反,一些自己买的,你可以只发送给您的孩子与说明购买面粉。输入:金钱,输出:面粉
这是很难理解“方法调用”的概念,如果你不先了解结果 流动。
一个简单的解释是,方法或例程,是分组化的指令的构建体,点击 为了重用他们,使代码更易读。结果 调用一个方法,暂时,切换执行流至该方法。
C:: do(a ,b)
您告诉C
到do
东西,给出的条件a
和b
。
最好的办法可能是要拿出你所解释的人可涉及特定领域的例子。如果她正与邮局,你应该描述功能 “的发送信的与此的文本的这个的收件人的”,其中的收件人是一个参数(包含地址)和消息是文本内容的参数。
参数顺序,只要你对每个参数的名称并不重要。试图解释为什么顺序是一些神秘的编程语言,重要的是徒劳的。
怎么样
- 调用函数:要求软件执行xxx任务
- 返回值类型函数:要求你的软件执行xxx任务并告诉你操作的结果
- 使用参数调用函数:给定X是这个值,Y是这个值,要求你的软件执行xxx任务(并告诉你操作的结果)