关系是指某事物之间的一两条路的状态或两种效果。感觉这句话有点无耻。每个人都知道,但是谜团是很难确定该类是否与班级相关。但是,由于业务模型的抽象角度不同,因此确定它们是否有关系并不容易。
继承:扩展[IS-A]
实施:工具[可以做]
组合:类是成员变量[contain-a]
矛盾:类是成员变量[is-a]
依赖性:它是一个 - 路的弱点,除了组合和聚集外。
相关:彼此之间关系的依赖性是[links-a]
Java中的类别与类之间有6个主要关系。它们是:依赖,关联,聚合,组合,继承和实施。依次增强了耦合。在上述六个关系中的信息和实施很容易区分。但是,在设计过程中,请注意这四个差异:组合,聚合,依赖关系和关联。
继承关系包括子类别,父,子接口和父界面之间的两个继承关系。使用空心三角形和实心线来表示这种继承关系。
类和界面之间的关系由空心三角形和虚线表示。
A类将使用类B。这种关系是偶然的和临时的。但是B类的变化会影响A类A。这在代码中反映了:类A中的参数A方法包括B类B。
A类将使用B类B。这是一个很强的依赖关系,这在很长一段时间内并非偶然。代码中的表现为:A类成员变量包含B类。
由实线和箭头表示。
聚合关系是相关关系的特殊情况。这是整个部分之间的关系,即has-a之间的关系。整体和部分可以分开并拥有自己的生命周期。
与组合关系的整体关系不同:整体包含许多部分,但是这里的部分是相同的。固体箭头。
组合关系也是相关关系的特殊情况。它反映了包含的关系。这种关系比聚集强,也称为强聚集。
它也反映了整个部分和部分之间的关系,但是整体和部分是密不可分的,它们具有相同的生命周期。
与聚合相比:该部分和整体表现之间的关系是整个部分包含该部分,但它也包含其他部分,其他部分与此部分不同。例如,CPU和计算机是组合关系。计算机包含CPU,但不仅是CPU,还包括屏幕键盘。其他部分与CPU不同。由实心钻石和实心箭头代表。
