「メソッド」は、オブジェクト指向プログラミングの特別な用語です。単語がこの特定の意味で使用され始めた時期と、どのプログラミング言語または定量的学習の他の分野に関連して誰が知っていますか?
「メソッド」は、オブジェクト指向プログラミングの特別な用語です。単語がこの特定の意味で使用され始めた時期と、どのプログラミング言語または定量的学習の他の分野に関連して誰が知っていますか?
回答:
明確な答えを見つけるのは難しいですが、メソッドとして物事を参照する最初の言語はSimulaであるように見えますが、これは間違っているかさかのぼる可能性があります。関数(数学から)と手続き(数学からも)がプログラミング言語に現れることを考えると、私が理解できる最高の方法は、「方法」が「方法論」の短縮形であることです。
これらはすべてサブルーチンであり、コンピュータープログラムを構成するコードの一部です。OOPスタイルのプログラミングの背後にあるアイデアは、可能な限りコードを再利用することであるため、「メソッド」が選択されたと思います。したがって、プロシージャを作成することもできますが、メソッドを使用すると、新しいスタイルが機能していることがより明確になります。正直なところ、私はメソッド関数を呼び出すことが知られており、メソッドと呼ばれる関数を聞いたことがあります。
void
です。C ++メンバー関数は、(Simulaとは異なり)通常の関数と非常に密接に関連していthis
ます-暗黙的なパラメーターと(おそらく)ランタイムディスパッチメカニズムを使用しても、処理対象は実際には変わりません。Cが関数と手続きを最初に同じものとして扱ったのかどうかはわかりませんが、Pascal(新しい言語)にはキーワードがfunction
ありprocedure
ます-IIRC、Pascal関数には副作用があります。
私は何十年もの間これに関する情報を探していました。これまでの私の推測では、この用語は、数値計算の特別なサブフィールドからSimulaに来たもので、関数(固有値など)を実装する特定のアルゴリズムは、しばしばmethodと呼ばれます。これは、同じ数学関数をさまざまなトレードオフで計算するためのさまざまな数値的方法があるためです。OOPでは、なぜならこの方法は、オーバーライドの、あなたがクラスに応じて異なる方法で実装「同じ」機能を持たせてもよい-例えば、面積がために異なる方法で実装されるだろうサークルや長方形の両方である、シェイプ持って、地域を。これは、数値法の伝統的な概念の合理的な拡張のようです。
私は、OOPの歴史におけるこの言葉の語源については何も知りません。しかし、私はそれがないことを知っているdeductional(deducable)。それに対するより良い用語(より多くの演 Term用語またはMDT)は、反応または行為である可能性があります
REAL BASIC、VBx、およびVB.netのバックグラウンドを持つプログラマは、2つのタイプのメソッド宣言「FUNCTION」および「SUB」を認識しています。BASICファミリの言語では、「SUB」キーワードだけでなく「FUNCTION」キーワードを使用して関数を宣言できます。これら2つの違いは、「SUB」としてコードを実行するだけで値を返さない「FUNCTION」は値を返すことができるかどうかということです。しかし、OOの概念の出現により、subとfunctionという用語はメソッドとして交換可能に使用され始めています。