2

让我们考虑一个小方法:

int MyFunction(string foo, int bar)
{
  ...
}

和一些电话:

MyFunction("",0)
int x = MyFunction(foo1,bar1)

您如何向非技术人员解释这一点?谁有一个很好的比喻?

我多次尝试解释方法调用(或函数应用程序),但都失败了。好像在这里找不到合适的词。

问候,叉子

更新:对我来说,解释参数是如何传递/匹配的很重要。

4

8 回答 8

4

(高度非技术性的解决方案)

这就像下订单:

  • 调用方法=拨打正确的号码
  • 传递参数 = 提供您的详细信息
  • 该方法是工作
  • 得到一个返回值 = 得到你所订购的
于 2010-03-15T09:07:55.323 回答
3

你可以告诉函数是一个可以被其他对象调用的进程。可以说“你”是一个具有“工作”功能的对象。你的“老板”是调用者对象。然后你的老板可以打电话给你使用不同的类型(这是参数)。

最后你的“老板”可以要求“你”工作(“编码这个”)或工作(“检查电子邮件”)或工作(“完成截止日期”)等。

于 2010-03-15T09:11:53.087 回答
2

委派任务怎么样?想象一下,你正在烤一个蛋糕,但面粉用完了。与其自己买一些,不如给你的孩子发送购买面粉的说明。输入:钱,输出:面粉。

于 2010-03-15T09:11:45.383 回答
1

如果不先了解
控制流程,就很难理解“方法调用”的概念。

一个简单的解释是,方法或例程是一种用于打包指令的构造,
以便重用它们并使代码更具可读性。
临时调用方法会将执行流程切换到该方法。

于 2010-03-15T09:50:10.170 回答
0
C:: do(a ,b)

鉴于条件和C,您正在告诉某事。doab

于 2010-03-15T10:11:21.047 回答
0

最好的方法可能是想出一个特定领域的例子,你正在解释的人可以与之相关。如果她在邮局工作,您应该描述功能“将带有此文本的信件发送给此收件人”,其中收件人是一个参数(包含地址),消息是文本内容的参数。

只要您有每个参数的名称,参数顺序并不重要。试图解释为什么顺序在某些晦涩难懂的编程语言中很重要是徒劳的。

于 2010-03-15T10:25:53.437 回答
0

怎么样

  • 调用函数:要求软件执行xxx任务
  • 返回值类型函数:让你的软件执行xxx任务并告诉你操作的结果
  • 使用参数调用函数:给定 X 是这个值,Y 是这个值,让你的软件执行 xxx 任务(并告诉你操作的结果)
于 2010-03-15T10:35:47.303 回答
-2

将系统想象成办公桌上的出纳员。要调用一个函数,你需要填写一个表格来要求系统做某事,把它交给出纳员。他们开始工作,然后给你一张纸,上面写着结果。根据您希望系统执行的操作,您可以选择适当的表格。

MyMethod 的表格说:

MYMETHOD REQUISITION FORM:
String _______
int    _______

这个类比可以以各种方式扩展。如果表单告诉您 String 和 int 的用途是什么,那不是很方便吗?这就是具有命名参数的语言的用武之地。

对于 OO,不是为整个系统配备一张桌子,而是每个对象都是自己的出纳员,您将一张表格交给他们,为了完成工作,他们在彼此之间来回交出更多表格。等等。

于 2010-03-15T10:19:19.183 回答