网站开发书籍,国内便宜机票网站建设,东丽区装饰网站建设,基于lnmp做wordpressUML中基本概念说明
UML类图中关系连接线说明 UML类图说明
号表示public、-表示表示private、#表示protected UML类关系详解
泛化#xff08;Generalization#xff09;关系
简单的讲就是类之间的继承关系。在UML中#xff0c;泛化关系用空心三角形实线来表示…UML中基本概念说明
UML类图中关系连接线说明 UML类图说明
号表示public、-表示表示private、#表示protected UML类关系详解
泛化Generalization关系
简单的讲就是类之间的继承关系。在UML中泛化关系用空心三角形实线来表示箭头指向为父类。
实现关系
实现是一种类与接口的关系表示类是接口所有特征和行为的实现在程序中一般通过类实现接口来描述
依赖dependence关系
是一种使用关系即一个类的实现需要另一个的协助Java中方法参数需要传入另一个类的对象就表示依赖这个类。 关联关系
是一种拥有的关系它使一个类知道另一个类的属性和方法如老师与学生丈夫与妻子关联可以是双向的也可以是单向的。双向的关联可以有两个箭头或者没有箭头单向的关联有一个箭头。
Java中一个类的全局变量引用了另一个类就表示关联了这个类如下图Techer关联了Course 聚合关系
聚合关系表示的是一种弱的拥有关系。聚合是整体和个体之间的关系即has-a的关系体现了A对象可以包含B对象但是B对象不是A对象一部分换句话说部分对象可以存在独立于整体对象的上下文中整体对象的生命周期不直接决定部分对象的生命周期。
举个例子考虑一个图书馆和书籍之间的聚合关系。图书馆是整体对象书籍是部分对象。图书馆包含多本书但这并不意味着每一本书都必须属于某个特定的图书馆。书籍可以被共享或者被多个图书馆包含。当某个图书馆被关闭时书籍不一定会被销毁它们可以被移到其他图书馆或者存在于其他上下文中。
总体来说聚合关系强调了整体对象和部分对象之间的松散关联部分对象在某种程度上是独立的。这与强关联的组合关系不同组合关系中部分对象是整体对象的一部分其生命周期直接受整体对象的管理。
eg雁群和大雁的关系每一只大雁都属于一个雁群每一个雁群又有很多只大雁。它们之间构成了聚合关系 组合关系
组合也是关联关系的一种特例。组合是一种整体与部分的关系即contains-a的关系比聚合强。部分与整体的生命周期一致整体的生命周期结束也就意味着部分的生命周期结束组合关系不能共享。程序中组合和关联关系是一致的只能从语义级别来区分。eg鸟儿和翅膀的关系
聚合关系与组合关系区分
在UMLUnified Modeling Language中组合关系和聚合关系都表示类之间的关联但它们在语义上有一些区别
组合关系Composition
组合关系表示一种强烈的“整体与部分”的关系部分对象的生命周期依赖于整体对象的生命周期。整体对象拥有部分对象而部分对象没有独立存在的意义。在代码实现中通常体现为整体对象负责创建和管理部分对象的生命周期当整体对象被销毁时部分对象也会被销毁。在UML中组合关系通常用实心菱形箭头来表示。
聚合关系Aggregation
聚合关系表示一种“整体与部分”的关系但部分对象的生命周期不受整体对象的影响。被聚合的对象可以独立存在它们之间的关系更像是一种拥有关系而不是生命周期依赖关系。在代码实现中聚合关系通常体现为整体对象包含对部分对象的引用但整体对象的销毁并不会导致部分对象的销毁。在UML中聚合关系通常用空心菱形箭头来表示。
举个例子假设有一个学校和学生的关系
如果学生和学校之间是组合关系那么学生对象的生命周期会受学校对象的管理即学生对象只能存在于一个学校中并且随着学校的销毁而销毁。如果学生和学校之间是聚合关系那么学生对象可以存在于多个学校中它们之间的关系更像是一种包含关系而学生对象的生命周期不受学校对象的影响。
UML类图关系完整示例 【参考】《大话设计模式》