8

ええ、私はそれに苦労しています。私が読んだすべての説明は非常に不明確で哲学的であるため、それらを区別することはできません。誰かが私のためにこれらの定義をクリアできますか?みんなありがとう。

これらの定義は、手続き型プログラミングにもおっと適用されますか?ありがとう。

4

6 に答える 6

10

時間の経過とともに、人々がこれらの各用語を使用する方法は変化しました(そしておそらく変化し続けるでしょう)が、過去10年ほどで書かれた記事を読んでいる場合、おそらくこれらが意味することは次のとおりです。

関数(別名サブルーチン)は、比較的自己完結型の比較的独立したコードであり、より大きなプログラムを構成します。

メソッドは、オブジェクト指向プログラミングの特定のクラス(またはインスタンス)に関連付けられた関数です。

プロパティはオブジェクト指向のイディオムです。この用語は、1つまたは2つの関数(目的のプログラムの動作に応じて)を表します。値を取得する「getter」と値を設定する「setter」です。慣例により、プロパティには通常、多くの副作用はありません。(そして、それらが持つ副作用は通常、範囲が限定されています。設定されているアイテムを検証したり、リスナーに変更を通知したり、オブジェクトのプライベートデータを公に宣言されたタイプとの間で変換したりする場合があります。)

于 2010-11-22T15:24:44.137 に答える
8

関数は、いくつかの結果を達成するために結合された命令の組み合わせです。引数を取り、結果を返す場合があります。関数が結果を返さない場合、通常はプロシージャと呼ばれます。例:

function drawLine(x1, y1, x2, y2):
  // draws a line using Bresenham's algorithm from x1,y1 to x2,y2.
  // doesn't return anything

function <number> add(a, b):
  // adds a to b and returns the result as a number
  return a + b

したがって、関数は特定の作業を行うことです。たとえば、ベクター画像の一部として3本の線のポリゴンを描画する必要がある場合はdrawLine、線を描画するためのすべてのルーチンをインラインにするよりも、3回呼び出す方が便利です。

メソッド(「メンバー関数」)は関数に似ており、クラスまたはオブジェクトに属し、通常はオブジェクト/クラスの動詞を表します。たとえば、タイプのオブジェクトにはWindow通常、メソッドがopenありclose、それらが属するオブジェクトに対応する操作を実行します。

プロパティは日常の言語と同じであり、技術的には専用のゲッター/セッタールーチン(メソッドと見なすことができます。プロパティを持たない言語があり、この動作はプライベートフィールド+ get / setを使用して実現されます)を持つオブジェクト/クラスのフィールドです。メソッド。)。

于 2010-11-22T15:45:37.230 に答える
4

フィールド-フィールドは、クラスまたは構造体で直接宣言される任意のタイプの変数です。フィールドは、それらを含むタイプのメンバーです。

プロパティ-プロパティは、プライベートフィールドの値を読み取り、書き込み、または計算するための柔軟なメカニズムを提供するメンバーです。

メソッド-メソッドは、一連のステートメントを含むコードブロックです。C#では、実行されるすべての命令は、メソッドのコンテキストで実行されます。

プロシージャ-プロシージャは、一連のステートメントを含むコードブロックです。

関数-関数は、一連のステートメントを含むコードブロックです。その戻り演算結果。

于 2010-11-22T15:35:21.907 に答える
2

関数は、、などのようなスタンドアロンtrim()構造ですstrlen()fopen()

function myAbcFunction() { ... }

メソッドはオブジェクトの関数です。クラスで定義されます。プロパティはオブジェクトの単なるプロパティです:

class MyClass {
    public $property; // Public property: $objInstance->property
    protected $property2; // Protected property

    public function doSth() {
        // That's a method. $objInstance->doSth();
    }
}

マニュアルのクラスとオブジェクトの章を読むことをお勧めします。

于 2010-11-22T15:20:42.923 に答える
1

OOPでは、一次構造はオブジェクトです。

メソッドは、オブジェクトに適用できる名前付きアクションです。プロパティは、オブジェクトが持つ名前付きの値です。たとえば、オブジェクトHumanのプロパティは「Age」です。関数は、メソッドよりも一般的なものです。これは単なるアクションであり、どのオブジェクトにも属していません。ただし、メソッドはオブジェクトに属する関数です。

于 2010-11-22T15:23:32.283 に答える
1

a)関数特定のタスクを実行して値を返すステートメントのブロックを参照します。

b)手順呼び出されたときに値を返さないプログラムの構成要素を指します。

c)メソッドオブジェクトが実行できるアクションを参照します。

于 2016-06-24T05:56:00.043 に答える