-3

次のコードです:

class FamilyMember{
   String name;
   String type;
}

class Family{
   FamilyMember father;
   FamilyMemeber mother;
   List<FamilyMember> children;
}

次の関係が生成されます。  

 +------------------+      +------------------+  
 |     Father       |------|     Mother       |  
 +------------------+  ^   +------------------+  
                       |                  
                       |                  
                       |                  
                       |                  
                       |                    
                 --------------       
                 |            |                   
                 |            |                   
                 |            |                   
                 |            |                   
 +------------------+       +------------------+  
 |     Son          |       |    Daughter      |  
 +------------------+       +------------------+  

 

子供の数は家族によって異なるため、各家族には独自の家族構成があります。

上記の関係を可変数の子と一緒に表示できるクラスを作りたいです。

4

4 に答える 4

1
class FamilyMember{
   String name;
   String type;
}

class Family{
   FamilyMember father;
   FamilyMemeber mother;
   List<FamilyMember> children;
}
于 2013-04-23T08:50:31.960 に答える
1

親/子関係を持つ単純なツリーが必要です。ツリーの各ノードは人です。

それを忘れないでください。

  1. 2 人の子供が両方ではなく、1 つの共通の親のみを共有することは可能です。たとえば、男性は異なる女性との間に 2 人の子供を持つことができ、その逆も同様です。
  2. すべての親は、暗黙のうちに自分自身が子です。
  3. 各子には、通常の親ではなく2 つの親が割り当てられます

次のデータを持つクラスで十分です。

public class Person {

  boolean female;
  Person father;
  Person mother;
  List<Person> children;

}
于 2013-04-23T08:56:26.943 に答える
0

ファミリーというクラスを作ってみませんか?複数(n)の子供と、1人または0人(悲しい世界:/)の父と母を持つことができます。

すべての子供を特定の母親と父親にリンクすることもできます。

実際には、性別を持つクラス Person を選択し、他のすべてのクラスはそれを継承する必要があります。一人一人が名前などを持っているものが複数あるので、長期的には扱いやすいはずです...

于 2013-04-23T08:54:44.507 に答える