让我们考虑一个小方法:
int MyFunction(string foo, int bar)
{
...
}
和一些电话:
MyFunction("",0)
int x = MyFunction(foo1,bar1)
您如何向非技术人员解释这一点?有人有一个很好的比喻吗?
我试图多次解释方法调用(或函数应用程序),但是我失败了。好像我在这里找不到合适的词语。
此致 forki
更新:解释参数如何传递/匹配对我来说非常重要。
答案 0 :(得分:4)
(高度非技术性解决方案)
就像下订单一样:
答案 1 :(得分:3)
你可以告诉函数是一个可以被其他人调用的对象的进程。让我们说“你”是一个功能“工作”的对象。你的“老板”是来电者的对象。然后你的Boss可以打电话给你使用不同类型(这是参数)。
最后你的“老板”可以要求“你”工作(“编码”)或工作(“检查电子邮件”)或工作(“完成截止日期”)等。
答案 2 :(得分:2)
委派任务怎么样?想象一下,你正在烤蛋糕,没有面粉。而不是自己购买一些,你可以给你的孩子发送购买面粉的指示。输入:钱,产量:面粉。
答案 3 :(得分:1)
如果您首先不理解,那么很难理解“方法调用”的概念 flow of control。
一个简单的解释是方法或例程是包装指令的结构 为了重用它们并使代码更具可读性 临时调用方法会将执行流程切换到该方法。
答案 4 :(得分:0)
C:: do(a ,b)
根据条件C
和do
,您正在告诉a
b
某事。
答案 5 :(得分:0)
最好的方法可能是提出一个特定于域的示例,您要解释的人可以与之相关。如果她正在与邮局合作,您应该将“发送信件与此文本”功能描述为此收件人“,其中收件人是一个参数(包含地址),消息是文本内容的参数。
只要您有每个参数的名称,参数顺序就不重要了。试图解释为什么秩序在一些神秘的编程语言中很重要是徒劳的。
答案 6 :(得分:0)
怎么样
答案 7 :(得分:-2)
将系统视为桌面上的出纳员。要调用一个函数,您需要填写一个表单,要求系统执行某些操作,然后将其交给柜员。他们离开并完成工作,然后将一张纸上写下来,并将结果写在上面。根据您希望系统执行的操作,您可以选择适当的表单。
MyMethod的表格说:
MYMETHOD REQUISITION FORM:
String _______
int _______
这种类比可以通过各种方式进行扩展。如果表单告诉你String和int的用途是什么,那不是很方便吗?这就是具有命名参数的语言的用武之地。
对于OO而言,整个系统没有一个桌子,每个对象都是自己的出纳员,你把一个表格交给他们,为了完成工作,他们在每个对象之间来回交换更多表格。其他。等