1.为什么要学习类图?
在软件设计、开发的过程中,类图是使用频率最高的UML图。它是团队工作中队员之间交流有效工具,团队的工作效率也将会得到提升。
2.类图是用来做什么的?
在设计模式中,我们使用类图来描述一个模式的结构,通过类图类分析每一个模式实例。
3.什么是类图?
类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图(Class diagram)最基本的元素是类或者接口。
在UML中,类图用具有类名称、属性、操作分隔的长方形来表示。
UML规定属性的表示方式: 可见性 名称:类型 [= 默认值]
UML规定操作的表示方式:可见性 名称(参数列表):返回值类型
类之间的关系
类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。 3) 类的属性即类的数据职责,类的操作即类的行为职责。
1.关联关系(关联的类都是作为另一个类的属性而存在)
定义:关联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的2个类,可以从其中的一个类的对象访问到另一个类的相关对象。在UML图中,关联关系用一条实线来表示。关联可以有方向,表示该关联在某方向被使用。
(1)双向关联(如:我爱你和你爱我,顾客类和商品类等 )---------没有前头的实线
(2)单向关联(如:我爱你和你不爱我。单恋,顾客类和地址类)----------带有箭头(被关联方)的实线
(3)自关联(如:自恋。节点类自包含节点)------------带箭头的实现自己指向自己
(4)重数性关联(如:花心男或淫荡女)-----------关联直线上增加一个数字表示与之对应的另一个类的对象的个数。_1..1______________0..*__
(5)聚合关系(整体与部分的关系,整体不存在对部分没有影响,关系较弱,对方注入)----------带空心菱形直线表示
(6)组合关系(也是整体与部分的关系,但是整体与部分的生命周期是一致的,关系较强,通过构造函数实例化成员)----------带实心菱形直线表示
2.依赖关系------------带有箭头的虚线表示,由依赖的一方指向被依赖的一方。
定义:UML类图依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。
依赖关系有如下三种情况:
1、A类是B类中的某方法的局部变量;
2、A类是B类方法当中的一个参数;
3、A类向B类发送消息,从而影响B类发生变化;
3.泛化关系----------带空心三角形的直线表示。
定义:父类与子类的关系,也就是我们平时所说的继承关系。
在UML当中,对泛化关系有三个要求:
1、子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;
2、子类中除了与父类一致的信息以外,还包括额外的信息;
3、可以使用父类的实例的地方,也可以使用子类的实例;
4.接口和实现关系------------用带空心三角形虚线表示。
定义:接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现关系,在这种关系中,类实现了接口,类中的操作实现了接口中所声明的操作。
未完(待整理)...........