2012-02-02 31 views
1
 0..*     1..* 
+-------+      +--------+  
|Invoice|_______________________|Products| 
+-------+   |   +--------+ 
|inID |   |   |proID | 
|inDate |   |   | Qty | 
+-------+   |   | Price | 
        |   +--------+ 
       +-----------+ 
       |LineProduct| 
       +-----------+ 
       | Qty  | 
       | salePrice | 
       +-----------+ 

該編碼是否正確用於上述類圖?如何編碼具有關聯類的UML類圖

Class Invoice 
{ 
inID:int; 
inDate:Date; 
} 

Class LineProduct 
{ 
Qty:int; 
salePrice:int; 
//inID:int; <-- this is what I did but I am wrong 
//prodID:int; <-- this is what I did but I am wrong 
} 

Class Products 
{ 
prodID:int; 
Qty:int; 
Price:int; 
} 

現在,例如,如果發票包括兩個產品我要傳遞對象到數據庫功能的情況下這樣

invoiceTable.saveInvoice(invoice:Invoice); 
lineproductTable.saveLine(product instance 1); 
lineproductTable.saveLine(product instance 2); 

現在又另一個困惑該行的產品表將INID和proID列,但如何傳遞一個對象,它將具有inID和prod ID?

PS:對不起,我停留在低代表我不能張貼圖片,並解釋我的困惑

+0

尼斯圖:) – 2012-02-02 16:48:39

回答

2

我覺得你說得對擺在首位。

//inID:int; <-- this is what I did but I am wrong 
//prodID:int; <-- this is what I did but I am wrong 

取消註釋這些行。這是將產品與發票相關聯的唯一方法。

+0

請注意,UML不需要直接映射到確切的類,但似乎是一個「去規範化」,以確保參考的工作。我會強調,如果您只知道發票或產品,他們也沒有引用或方法來查找關係,但也存在導航問題。 – 2012-02-03 04:25:16

+0

@泰德約翰遜我很困惑! LineProduct是一個關聯類ryt?那麼我的類代碼是否正確? – Fara 2012-02-03 05:11:25

+0

此外,您的圖明確指定了inid和prodID的多重性。因此,您可能想要在代碼中將它們聲明爲整數數組,並確保始終至少有一個Product實例存在於prodID數組中。 – Epicurus 2012-02-03 13:50:25