1

質問のタイトルが示すように、どちらが正しいアプローチなのか疑問に思っていました。私の質問を明確にするために、例を挙げたいと思います。

私のプログラムのメインメソッドで、クラスのインスタンスをすべて使用するメソッド/メソッドに一連の呼び出しを与えるとします。そう-

  1. すべての呼び出しでメソッド本体にこのクラスのインスタンスを作成する必要があります。
  2. または、メイン メソッドで一度クラスのインスタンスを作成し、このインスタンスをメイン メソッドから呼び出されるすべてのメソッドにパラメーターとして渡す必要があります。

混乱は、2 番目のアプローチを使用する例を見たことがないためです。最初のアプローチでは、このクラスを使用するメソッドを呼び出すたびにクラスのインスタンスが作成されるため、処理時間が長くなると思います。

4

1 に答える 1

1

それは文脈に依存します:

  • メソッド間で同じオブジェクトを共有する必要がある場合があります。これは、インスタンスを作成するための計算コストが高いため、または同じオブジェクトの複数のインスタンスを持つことが単純に間違っているためです (フィールド、ファイル バッファー、データベース接続などを考えてください)。

  • 問題を解決する正しい方法 (ハッシュ、OCR、検索、解凍/圧縮など) であるため、計算コストが高くてもオブジェクトを何度も作成する必要がある場合があります。

  • ほとんどの場合、別のインスタンスを作成するコストはごくわずかであり、モジュール性と適切なコードを優先します。

于 2012-12-31T14:55:10.493 に答える