UML中的类图

UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。

依赖(Dependency):虚线箭头表示

1、依赖关系也是类与类之间的联结

2、依赖总是单向的。(#add 注意,要避免双向依赖。一般来说,不应该存在双向依赖。)

3、依赖关系在 Java 或 C++ 语言中体现为局部变量、方法的参数或者对静态方法的调用

public class Person{
    void buy(Car car){}
}

关联(Association):实线箭头表示

1、关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法。

2、关联可以是双向的,也可以是单向的(#add还有自身关联)。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

3、在 Java 或 c++ 中,关联关系是通过使用成员变量来实现的。

class 徒弟
{
}; 

class 唐僧
 {
     protected: list<徒弟> tdlist;
};

聚合(Aggregation):带空心菱形头表示

1、聚合关系是关联关系的一种,是强的关联关系。

2、聚合是整体和部分之间的关系,例如汽车由引擎、轮胎以及其它零件组成。

3、聚合关系也是通过成员变量来实现的。但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。

4、关联与聚合仅仅从 Java 或 C++ 语法上是无法分辨的,必须考察所涉及的类之间的逻辑关系

class 引擎
 {
 }; 

 class 轮胎
 {
 }; 

 class 汽车
 {
        protected:引擎 engine;
        protected:轮胎 tyre[4];
 };

合成(Composition):带实心菱形头的实线表示

1、合成关系是关联关系的一种,是比聚合关系还要强的关系。

2、它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

class 肢
 {
 }; 

 class 人
 {
        protected:  肢   limb[4];
 };

泛化(Generalization):带空心箭头的实线线表示

泛化(图H)表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素。在Java中,用extends关键字来直接表示这种关系。

泛化关系表示类与类之间的继承关系,接口与接口之间的继承关系。

public abstract class Employee{}
public class Professor extends Employee{}

实现(Realization):空心箭头和虚线表示

public interface Make{}
public class Maker implements Make{}
![这里写图片描述](http://img.blog.csdn.net/20150726162719238)
时间: 2024-10-08 19:28:06

UML中的类图的相关文章

设计模式——UML中的类图及类图之间的关系

一丶统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准.它的特点是简单.统一.图形化.能表达软件设计中的动态与静态信息. 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持.而且融入了软件工程领域的新思想.新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本.它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行

设计模式的学习(二)-UML中的类图及类图之间的关系

统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,为面向对象的建模语言的国际标准.他的特点是简单,统一,图形化,能表达软件设计中的动态与静态信息. 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持,而且融入了软件工程领域的新思想.新方法和新技术,使软件设计人员沟通更简明,进一步缩短的设计时间,减少开发成本,它的应用领域很宽,不仅适合与一般系统的开发,而且适合于并行与分布式系统的建模. UML从目标系统的不同角度出发,定义了用例图

UML中的类图关系

在UML建模中,可以用连线表示类或者接口之间的关系,主要的关系有:一般化关系.关联关系.聚合关系.合成关系以及依赖关系 一般化关系表示的是类与类之间的继承,接口与接口之间的继承,或者类对接口的实现关系.在JAVA代码中,一般化关系表现为extends或者implements 关联关系是类与类之间的关系,指一个类拥有另一个类的实例,可以查看实例的属性以及调用实例的方法,关联关系可以是双向的,也可以是单向的,双向的关联关系,在序列化时可能会出现栈溢出的问题,不推荐使用 聚合关系是更为特殊的关联关系,

UML建模之 - 类图&amp;时序图

简介 简介 UML是面向对象开发中一种通用的图形化建模语言 UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类.类和类之间的关联.类的实例相互配合实现系统的动态行为等 UML建模工具 Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具 Power Designer : 是对数据库建模而发展起来的一种数据库建模工具 Microsoft Visio :是一种画图工具,Visio 2010才开始引入UML建模,不是很专业 Star UML : 开源轻

uml精粹——5.类图(高级概念)

[关键字keyword] uml接口interface是一个只有公共操作public operations没有方法体method body的类.他用类图标class icon和关键字<<interface>>表示. <<interface>>简写为<<I>>,{abstract}简写为{A}. uml1中引号guillemets主要用于原型stereotype. 原型被用作概况profile的一部分. [分类和一般化classific

UML学习(一)——类图学习

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类 2. 实现(R

uml精粹——3.类图(必需)

3.类图class diagram(必需) 一个类图描述了系统中对象的类型及他们间存在的各种静态关系static relationship.类图也展示了一个类的属性和操作properties and operations以及对象相互连接的限制.uml使用属于feature特性来表示一个类的属性和操作. 类图中的盒子box表示类,它分成3部分:类名(粗体),属性attribute,操作operation. [属性property] property属性代表一个类的结构形态,但它以两种不同的标记出现

看懂UML(统一建模语言)类图

这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图所表达的含义和最终的代码对应起来: 有了这些知识,看后面章节的设计模式结构图就没有什么问题了: 本章所有图形使用Enterprise Architect 9.2来画,所有示例详见根目录下的design_patterns.EAP 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abstr

在Visual Studio中使用类图描述领域模型

右键解决方案,添加一个名称为"Domain Model"的UML类图. 首先站在整体的角度添加类,先不要任何属性. 添加Customer对Wishlist的关联,把"属性"中"Second Role"项中的"Is Navigable"设置为False. 添加Cusomter对Shopping Cart的关联,把"属性"中"Second Role"项中的"Is Navigable