在上篇博客中把九种图分成了四部分,用例图、类图、行为图、实现图。图片画的太大,有的部分看不清楚。http://blog.csdn.net/z15732621582/article/details/49516327现在分开说明。
一、类图是最重要的核心,展现了一组对象、接口、协作以及他们之间的关系,描述了静态的关系,类图就是用于对系统中的各种概念进行建模,并描绘它们之间关系的图。在系统的整个生命周期都是有效的,是面向对象系统中最常见的图。
1.类的组成 (名称、属性、方法)
2.可见性:描述了该属性是否对于其他类能够可见,从而是否可以被其他类进行引用。公有类(public)、受保护类(protected)、私有类型(private)、Implementation。
1、公有类型(public):允许在类的外面使用或查看该属性
2、受保护类型(protected):允许子类访问父类中受保护类型的属性
3、私有类型(private):只有类本身能够访问,外部一概不能
4、Implementation:该属性仅仅在被定义的包中才能够可见
(私有属性- 公有属性+ 保护#)蓝色方块是public、蓝色锁子是私有、蓝色方块和钥匙是保护、红色方块是共有。
下划线表示该成员是静态成员呢。
斜体字表示是抽象类,不能被实例化,正字体说明类可以实例化。
3.接口
接口是一种特殊的类,所有接口都是有构造型的类。用圆圈表示
二、包图:描述了包及其关系的图,是维护和控制系统总体结构的重要建模工具。就像是一个容器,用于囊括相关元素,一边理解,只适用于建模。
1.常见的几张包的表示方法:
2.包的可见性:共有的public+ 受保护的protected# 私有的private
3.注意点:
避免循环依赖 的产生
测试时以包为测试单位的
尽可能的吧概念和语义上想接近的元素包含咋同一个包中
对于一个包,找出那些包内的元素是可以在包外访问的,把这些元素标记为公共的其他元素都标记为受保护的私有
三、对象图:描述一个系统在某个具体时刻的静态结构,类图描述所有可能的情况。反映了系统中原色组成和结构关系。具有状态、行为、标示三个特点。
与类的比较:
1.对象是一个存在于时间和空间的具体尸体,而类是一个模型,该模型抽象出一组对象的共同”本质”,当用类创建一组对象时,每个对象都从中复制了相同的一组属性和方法。
2.类是静态的描述,而对象是动态的实体;类一般化,对象是个性化;类是定义,对象时实体;类是抽象,对象时具体。
【总结】
类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。