2016-05-05 13 views
1

プライベートメソッドが値を返すか直接設定する必要がありますか? 一方の方法で利益が得られるかどうか、もしそうならば?Javaのプライベートメソッド 'return'または 'set value'

これは私のコードです:一般的に

public class MinorMatrix { 

int[][] minorMatrix; 
int determinant; 
int matrixSize; 

public MinorMatrix(int a, int b, int[][] matrix) { 
    matrixSize = matrix.length; 
    createMinorMatrix(a, b, matrix); 
    createDetermiant(); 

} 

private void createDetermiant() { 

    // Do this (with return): 
    return value; 
    // or with void 
    determinant = value; 
} 
} 
+4

間違いなく値を返します。クラス変数に状態を格納するだけで愚かです。 –

+0

この質問はプログラマのスタックエクスチェンジに属します。 –

+0

@MichaelEaster他のサイトを参照しているときは、[クロスポストが嫌になっている](http://meta.stackexchange.com/tags/cross-posting/info) – gnat

答えて

1

、あなたが値を返す必要があり、ここでボイドスタイルは、副作用を生成します。 少しでも副作用を使用する方が効率的ですが、多くの場合(これは1つです)、プログラムの流れをより厳しくすることができます。

返品は無効ではありません。なぜなら、メンテナーはあなたのcreateDeterminant()メソッドを調査する必要がないからです。彼らはブラックボックスとして信頼できます。副作用を使用すると、将来のユーザーは作成された値を取得する方法がわかりません。見つけ出す唯一の方法は、不必要な作業を追加する機能を調査することです。

関連する問題