在OOP建模中,“has-a”关系和“合成关系”之间是否有区别?has-a和......之间的区别?
1
A
回答
4
这两个陈述通常意味着组成。
但在我看来,组成,总是意味着组成而有-一个有时意味着聚集(但不是在下面的图片)。在UML中,它看起来像:
alt text http://www.atomicobject.com/images/UML_CompositionAggregation.png
1
不是真的,因为两者都表明父对象包含子类的实例。它主要是一种语义上的区别,其中“has-a”表示两个不同对象之间的关联,其中“composed-of”表示该孩子是父母的一个组成部分。
+0
关于其他答案的一个有趣问题是,引擎是否可以拥有与安装它的汽车无关的身份。 我会断言答案是肯定的。我买了一辆汽车的更换引擎。我希望安装人员能够区分他们从安装的引擎中移除的引擎。 尽管如此,在许多应用中,引擎可以被模拟为汽车的子对象,而不会造成任何损害。 – 2010-04-28 13:18:08
相关问题
- 1. '+ ='和'= +'之间的区别?
- 2. {!!之间的区别!!}和{{}}
- 3. ==和case之间的区别?
- 4. '#','%'和'$'之间的区别
- 5. | =和^ = css之间的区别
- 6. “%〜dp0”和“。\”之间的区别?
- 7. .eq之间的区别。和==
- 8. ==和.equals()之间的区别?
- 9. `%in%`和`==`之间的区别
- 10. SPFile和PublishingPage类别之间的区别
- 11. System.Timers.Timer Enabled = true和.Start()之间的区别Enabled = true和.Start()之间的区别
- 12. NSthread和NStimer和NSNotifcation之间的区别?
- 13. Java和C#和.NET之间的区别
- 14. sys.log()和console.log()和console.error()之间的区别?
- 15. $ .ajax()和$ .get()和$ .load()之间的区别
- 16. javascript中的/ * * /和//之间的区别
- 17. python中的[]和[,,]之间的区别
- 18. QWidget的setStyleSheet和QApplication之间的区别
- 19. CKeditor的getHtml()和getData()之间的区别
- 20. make中的“$(shell ...)”和“$$(...)”之间的区别
- 21. C中的/ +和+之间的区别?
- 22. Alamofire的responseJSON和responseData之间的区别
- 23. WordPress的:site_id和blog_id之间的区别?
- 24. '|'之间的区别和 '+' 的位操作
- 25. 春季的/ **和/ *之间的区别
- 26. Satchmo的local_settings.py和settings.py之间的区别
- 27. String.Compare和CultureInfo的CompareInfo之间的区别
- 28. XMLReader.Create()和新的XMLTextReader()之间的区别
- 29. AppWidgetProvider的onDisabled()和onDeleted()之间的区别
- 30. Request.Cookies和Response.Cookies之间的区别
这是重复的:http://stackoverflow.com/questions/731802/what-is-the-difference-between-composition-and-association-relationship – Sunny 2010-04-27 13:10:21
阳光,是的,谢谢,看起来像一个重复。我没有看到那一个。 – fig 2010-04-27 13:20:24