-3

だから私はGraph.javaファイルを手に入れました、そして方法があります(そこにはもっと多くのものがあります):

public Graph(double y, int gr, String title, double vidurkis, double trend) {
   grooms = gr;
}

そして、このGraphメソッドはこのGraph.javaファイルではもう言及されていません。新郎の後、変数はになり= gr = 30ます。そして30、これで言及されることはありませんGraph.java。したがって、このメソッドは他のファイルから呼び出されていると思いますよね?

これでBrideInSwing.javaファイルがあり、Graphメソッドも使用されています。

if (which == 1){
   graphic = new Graph((Math.floor(((d_bride+d_groom) * 3 + divorce) * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend);               
} else {
   graphic = new Graph((Math.floor((d_bride + d_groom) * 3 * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend);
}  

だから私が理解していることから、これはGraph.javaファイルに対応するパラメータを持つグラフメソッドを呼び出しますか?もしそうなら、なぜGraph.javaそれが5つしかないファイルよりも多くのパラメータがここに与えられているのですか: 、、、、、。ygrtitlevidurkistrend

それとも私はここで何かを完全に見逃していますか?ありがとう。

4

3 に答える 3

3

コードの分析はそれほど遠くありません。

グラフメソッドはコンストラクターであり、新しいオブジェクトを作成するためのメソッドです。オブジェクト指向プログラミングを読み、チュートリアルを1、2回実行して、足を踏み入れることをお勧めします。

私はいくつかの簡単なグーグルをして、このチュートリアルを見つけました、あなたの路地にあるはずです。

于 2012-12-17T21:09:00.353 に答える
2

それは方法ではなく、constructorです。Graph指定された初期化パラメーター(2番目のコードで指定)を使用して、クラスの新しいオブジェクトを作成します。

コンストラクターをオーバーロードすることができます。いくつかのコンストラクターは、それぞれ異なる数/タイプのパラメーターを取ります。コンパイラーは、指定されたパラメーター・リストを満たすコンストラクターを選択します(または、使用可能なコンストラクターがない場合はコンパイラー・エラーをスローします)。

上記のすべては、通常の方法でも機能します。

于 2012-12-17T21:09:45.333 に答える
2

パブリックメソッドは、定義上、クラスの追放から呼び出されることを目的としています(内部から呼び出すこともできますが、それが唯一の目標である場合、メソッドはプライベートである必要があります)。

ただし、このメソッドはメソッドではなく、コンストラクターです。

そしてそれは5つの引数で呼び出されます:

  1. Math.floor(((d_bride+d_groom)*3+divorce)*10))/10
  2. grooms
  3. "Number of grooms: "+grooms+"; bride distribution: "+d_bride+"; grooms distribution: "+d_groom
  4. pr_vidurkis
  5. trend

コードで最も厄介なのは、コンストラクターが5つの引数を取りますが、そのうちの4つでは何もしないことです。引数を使用するか、削除する必要があります。

于 2012-12-17T21:11:52.183 に答える