2017-09-19 8 views
0

말을 사용합니다.내가 바로 관계 협회는 아니지만 집계 또는 구성이라고 말을 해요, 그리고이</p> <pre><code>Class Lion{ private int health; public void eat(Food f){ health+=f.getweight(); } } Class Food{ private int weight; } </code></pre> <p>같은 관계가 관계 협회에게

그리고 나는 사자가 음식을 음식을 사용하지 않고 사자는 음식의 배열이 없기 때문에 또한이 관계가 더 다양성이없는 것이

+-----+    +-----+ 
| Lion| _____uses___>|Food | 
+-----+    +-----+ 

처럼 UML 다이어그램을 그릴하지도 않습니다 말할 수는의 배열을 가지고 라이온스를 인스턴스 변수로 사용. 관계가 다중성을 갖는 구성 및 집계와는 달리.

Food가 동일한 방식으로 Lion을 사용하기를 원하면 어떻게해야합니까? 두 클래스 사이에 두 개의 화살표를 그립니다.

답변

0

<<uses>> 관계는 종속 관계가 아닌 FoodLion 삼켜되면 연관이 사라되었을 것 때문에 LionFood에 많은 의미가 협회입니다. 집계에 관해서는

enter image description here

:이 객체의 수명에 관한 것입니다. 공유 집계에는 정의 된 의미론이 없으며 도메인이 정의한 후에 만 ​​사용해야합니다. 종합 집계는 집계 된 개체가 집계되는 개체와 함께 사망 함을 나타냅니다. 그건 정말 이치에 맞지 않습니다. Lion이 촬영 된 경우 Food이 아직 있습니다.

나는 Food이 어떻게 Lion을 사용하는지 알지 못합니다.

0

실제로 식품은 라이온의 재산 또는 속성이 아니므로 이들 간의 관계는 협회가 아닙니다. 당신이 다중성을 지정할 수 없다는 사실은 또한 라이온과 식품 간의 관계가 협회가 아니라는 말의 또 다른 힌트입니다.

귀하의 라이온스 클래스 을 사용합니다. UML 사용 관계에 대해 생각할 수 있도록 먹을 것입니다. 그러나 UML 사양에 따르면 "사용법은 클라이언트 요소 (일명 라이온)가 전체 구현 또는 작동을 위해 공급 업체 요소 (일명 식품)를 요구하는 종속성입니다. 여기서는 귀하의 경우가 아니므로 식품 당신이 정말 그 구현에 대해 걱정하지 않는다 존재한다.

을 그래서 실제로 사자는 음식이 무엇인지 알고 있다면, 당신은 그들 사이의 관계 CF (스크린 샷 enter image description here)가 필요하지 않습니다.

당신의 사자가 모르고 그냥 경우 음식은 무엇이며 그들 사이에 ElementImport 관계가 필요합니다.