一部の C# 作成者は、書籍の中で C# メソッドを関数として呼び出しています。おそらく、彼らは C または同様のプログラミングのバックグラウンドを持っています。C#で関数メンバーと呼ばれるものはありますか? 私の理解では、C# には「関数」という概念はありません。ここで何かが恋しいですか?
4 に答える
いくつかの背景..
C# やその他の言語では、メソッドは関数と呼ばれることがよくあります。また、関数はメソッドと呼ばれることがよくあります。プログラミングの 1 年目の勉強中に、私はすべてが関数であると教えられ、プログラミングの 2 年目に、関数であったものはすべてメソッドであると教えられました (つまり、両方の方法があります)。
メソッドまたは関数とは
- 特定のタスクを実行する一連のステートメント
- 何度も実行されるコードは、関数の良い候補です
- 必要に応じて共通コードを変更するだけでよい
- 機能分解
(出典: iforce.co.nz )
クレジット ( UCOL、パーマストン ノース、エドモンド テオ、2008)
OK....しかし、関数 (またはメソッド) メンバーとは何ですか?
関数メンバーは、実行可能なステートメントを含むメンバーです。関数メンバーは常に型のメンバーであり、名前空間のメンバーにすることはできません。C# では、関数メンバーの次のカテゴリが定義されています。
- メソッド
- プロパティ
- イベント
- インデクサー
- ユーザー定義演算子
- インスタンス コンストラクター
- 静的コンストラクター
- デストラクタ
MSDN 7.4 Function membersから取得、詳細はこちら..
一般的なメソッド/関数のアーキテクチャ。
(出典: iforce.co.nz )
クレジット ( UCOL、パーマストン ノース、アーロン スティール、2009)
関数やメソッドなどの用語が同じ意味で使用されているのをよく見かけます。正式な定義はあると思いますが、実際には宗教的なものに見えます。私は教育の過程で常に「方法」という用語を学びましたが、これは私の個人的な好みです。私が見た限りでは、ますます多くの人々が「メソッド」という用語を使い始めています。
メソッドは、データではないクラス内のルーチン/操作/ものの言語に依存しない名前です。
関数や手続きなどは、言語構成要素であり、基本的な原理を覆い隠していた多くの手荷物を導入しました。
関数:
入力を受け取り、出力 (データ、動作) を生成するものの総称。数学にも関数という用語があります。
メソッド:
オブジェクト指向プログラミングのトピックで一般的に使用される関数です。何かを実行するための「オブジェクト」の一部です。「方法」という言葉が使われるのには歴史があるのかもしれません。「オブジェクト」がある場合、何かを行うためにそのプロパティに何を呼び出しますか? 技術?才能?アクション?テクニック?行動?メソッド?使用するのに最も適切な用語は何ですか?
メンバー関数:
c/c++ docs/reference/topics/etc で一般的に使用される用語です。私にとって、これは「方法」という言葉に比べて、より正確で意味を把握しやすい用語です。ただし、ここでは、純粋なオブジェクト指向プログラミングではなく、コーディングについて話しています。
要約
すると、 method ==メンバー関数であり、どちらもfunctionです。
メソッド メンバーの場合 ... その用語はどこで手に入れたのですか?! ;))
メソッドとメンバー関数と同じように思えます。