2012-02-02 60 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