2013-04-23 102 views
-3

是下面的代碼:相關一個節點到另一個節點

class FamilyMember{ 
    String name; 
    String type; 
} 

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

會產生以下關係:  

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

 

由於兒童的數量在不同的不同家庭,因此每個家庭都有自己的家庭結構。

我想做的它可以顯示上述關係與可變數量的子。

+4

那麼,有一個家庭班,有兩個父母和一個孩子的名單。也許你在混淆家庭樹木和階級關係?因爲它們不直接相互關聯。 – 2013-04-23 08:46:58

+3

這看起來像是一個試圖解釋繼承的演講中非常令人困惑的例子。 – blubb 2013-04-23 08:50:19

回答

1
class FamilyMember{ 
    String name; 
    String type; 
} 

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

好的。這可以。 – 2013-04-23 09:16:46

+0

@Raaga很高興我能幫忙! – 2013-04-23 09:19:56

0

爲什麼不創建一個名爲Family的類? 可以有多個(n)孩子和1或0(傷心的世界:/)父親&母親。

你也可以將每個孩子連接到一個特定的母親和父親。

其實我寧願選擇一個具有性別的人類,所有其他類都應該從它繼承。由於每個人都有很多喜歡名字和東西的東西,所以從長遠來看這應該更容易處理...

1

您只需要一個帶有父/子關係的簡單樹。樹中的每個節點都是一個人。

別忘了;

  1. 它可能讓兩個孩子分享一個共同的父母,而不是兩個。 EG男人可以有兩個不同女人的孩子,反之亦然。
  2. 所有的父母本身都隱含着孩子。
  3. 每個孩子都會有兩個父母代替正常一個

具有以下數據的類應該足夠了;

public class Person { 

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

} 
+0

一個'enum'將會是一個更簡潔的方式來實現'Person'的'性'。 – Aquillo 2013-04-23 09:12:12

+0

@Aquillo - 是的,好點。 – Qwerky 2013-04-23 09:17:29

0
class Parent 
{ 
    String name; 
    String gender; 
} 

class Family 
{ 
    Map<Set<Parent, Parent>, String> child; 
} 
相關問題