2012-02-09 18 views
0

私はシンプルなデザインの質問をしており、プロとコンスについては本当にわかりません。私がデータをツリー構造で保存しなければならない場合。このツリーとそれに対応するツリーは型付きクラス(うまくいけば適切な用語)です。Javaのデザイン:クラスとクラスの拡張子

さて、この基本的な構造にいくつかのデータを保存したとしましょう。たとえば、整数、浮動小数点数および任意のクラスメンバー変数です。

は、より論理的な店舗独自のクラス(containerlike)内のすべてのこれらの値

  1. することであり、追加のメンバー を追加し、このノードクラスを拡張するために、ノードの種類や
  2. として、このコンテナクラス を使用し、これらの値の1つをタイプとして使用しますか?

これは設計上の質問ですが、おそらくあなたは既にこのケースについて知り合っています。

ありがとうございます!

+2

この宿題はありますか? – Jivings

+1

構成は一般に継承よりも実行可能です。 JDKがツリーを定義する方法は次のとおりです。http://docs.oracle.com/javase/6/docs/api/javax/swing/tree/DefaultTreeModel.html –

答えて

4

私は、ジェネリック医薬品を介してノードのタイプとして、この独自のクラスを使用するオプション1.

のために行くだろう。これは、あなたのノード/ノードを、ノードとして使うことのできるあらゆるタイプのオブジェクトに対して一般的にするでしょう。

ノードクラスを拡張すると、あなたのオブジェクトは、あなたが望むものではないすべての用途のノードとして表現されます。さらに、自分のクラスでノードクラスのメソッドを使用することもあります。

+0

ありがとうございました。あなたの説明の最後の点は私には分かりませんでした。あなたはいくつかの言葉でこれを処理できますか? –

+0

@ JohnRumpel:By "ノードクラスを拡張すると、あなたのオブジェクトは、あなたが望むものではないすべての用途でノードとして表現されます。 - >あなたのタイプクラスでノードクラスを拡張すると、オブジェクトは常にノードオブジェクトに固有の属性/メソッドを継承しますが、これはおそらくすべての場合に必要なものではありません。実際には、おそらくツリー内のオブジェクトを操作するときにのみこの動作が必要です。 – bugske

+0

aaaaah、今私はそれを得た! :)ありがとう... –

関連する問題