2012-03-06 8 views
0

私はJavaに新しいので、私はいくつかのJavaの概念の周りに頭を抱えようとしていますので、私と穏やかにしてください!動的なJavaプログラムを設計するには

私はプログラムのメインが含まれている私のメインMASTERのControlPanel CLASSを持っている、と私は部屋のクラスのインスタンスが含まれている建物のクラスをInsantiate、 と部屋のクラスは、壁のクラスのインスタンスが含ま と壁が含まれていWindowsクラスのインスタンスおよそ行くための最善の方法は何

基本的に建物を建設、部屋のクラスの各インスタンス化は壁のインスタンスの異なる量、およびWindows、原始的な高さと幅などの壁に異なる量を持つことになります。..

アクセサーメソッドでは、壁や窓の動的な量を作成する場合と同じように、この設計は唯一の方法ですか?プログラムのMAINで測定値を変更するだけですか?各部屋の各部屋を個々にアーライルリストに追加する方法がありますか?もしそうなら、どこに最適な場所がありますか?

ありがとうございました。

+0

アプリケーションは、[JTree](http://docs.oracle.com/javase/tutorial/uiswing/components/tree.html)を使用して、データベースをXMLと同じように簡単にツリー形式の構造で設計できます。 [JAXB](http://jaxb.java.net/tutorial/)。各構築コンポーネントは、各ノードのプロパティを編集できるノードで定義することができます。 – ecle

答えて

1

大雑把に従ってください。

  1. あなたの問題定義にはhas-aがある場合はどこでも構いません。 has-manyに行く場合は、あなたが言ったように、壁のListと窓のListというコレクションを使うことができます。

  2. また、抽象的な原料は、抽象クラスとしてWindowを有していてもよく、StandardWindowまたはManSizeWindowのための実装を使用することができます - これはis-a関係です。 StandardWindowのようにWindowです。あなたはあなたの問題でこの種のものを持っている可能性があります同じ種類のものが異なるプロパティを持つ部屋を飾ることが必要です。

また、たとえば3つのウィンドウ属性と3つのゲッター/セッターを持つクラスを持つような厳密なコードは使用しないでください。このテクニックで後で後悔する可能性があります。

+0

しかし、私は4つの部屋のそれぞれにそれぞれ壁と窓の異なる量を持っていると言うと、どうやってこれらの設定に行きますか? – user969729

+0

'room1.getWindows()。add(新しいStandardWindow(height、width、color));'。したがって、どの部屋にも任意の数の 'Window'sを追加することができます。 'room.getWindow()'が 'List 'を返すので、あなたが望むように多くの 'Window'sを追加し続けることができます。クリア?同じ壁に行く – Nishant

+0

新しいウィンドウの追加は、プログラムのメインに行くだろうか?それのために – user969729

関連する問題