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

function は、他のオブジェクトから呼び出すことができるオブジェクトで使用できるプロセスであることがわかります。「あなた」が機能「仕事」を持つオブジェクトであるとしましょう。あなたの「ボス」は呼び出し元オブジェクトです。あなたの上司は、あなたに別のタイプ(パラメーター)で作業するように呼びかけることができます。

最終的に、あなたの「上司」は「あなた」に仕事(「これをエンコードしてください」)、仕事(「メールをチェック」)、仕事(「締め切り」)などを依頼できます。

于 2010-03-15T09:11:53.087 に答える
2

タスクを委任するのはどうですか?ケーキを焼いていて、小麦粉が足りなくなったと想像してください。自分で小麦粉を買う代わりに、子供に小麦粉を買うように指示を出すことができます. インプット:お金、アウトプット:小麦粉。

于 2010-03-15T09:11:45.383 に答える
1


最初に制御の流れを理解していないと、「メソッド呼び出し」の概念を理解するのは困難です。

簡単な説明は、メソッドまたはルーチンは、
命令を再利用してコードを読みやすくするために、命令をパケット化するための構造であるということです。
メソッドを呼び出すと、一時的に実行フローがそのメソッドに切り替わります。

于 2010-03-15T09:50:10.170 に答える
0

最善のアプローチは、おそらく、説明している人が関係する可能性のあるドメイン固有の例を考え出すことです。彼女が郵便局で働いている場合は、「このテキストを含む手紙をこの受信者に送信する」機能を説明する必要があります。ここで、受信者はパラメータ(アドレスを含む)であり、メッセージはテキストコンテンツのパラメータです。

各パラメーターに名前がある限り、パラメーターの順序は重要ではありません。難解なプログラミング言語で順序が重要である理由を説明しようとしても無駄です。

于 2010-03-15T10:25:53.437 に答える
0

どうですか

  • 関数の呼び出し:ソフトウェアにxxxタスクを実行するように依頼します
  • 戻り値型関数:ソフトウェアにxxxタスクを実行してもらい、操作の結果を教えてください
  • paramを使用して関数を呼び出す:Xがこの値で、Yがこの値である場合、ソフトウェアにxxxタスクを実行するように依頼します(操作の結果を通知します)。
于 2010-03-15T10:35:47.303 に答える
0
C:: do(a ,b)

条件と を考えると、あなたは何かに言っCています。doab

于 2010-03-15T10:11:21.047 に答える
-2

システムをデスクの窓口と考えてください。フォームに入力してシス​​テムに何かを実行するように依頼する関数を呼び出すには、それを出納係に渡します。彼らは立ち去って仕事をし、そして結果が書かれた一枚の紙をあなたに返します。システムに何をさせたいかに応じて、適切なフォームを選択します。

MyMethodのフォームには次のように書かれています。

MYMETHOD REQUISITION FORM:
String _______
int    _______

このアナロジーは、あらゆる種類の方法で拡張できます。文字列と整数の目的がフォームに示されていると便利ではないでしょうか。そこで、名前付きパラメーターを持つ言語が登場します。

OOの場合、システム全体に1つのデスクを用意する代わりに、各オブジェクトは独自のテラーであり、フォームを渡します。仕事を遂行するために、オブジェクトは互いにより多くのフォームをやり取りします。等。

于 2010-03-15T10:19:19.183 に答える