类图是静态图的一种,用于描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
(上图是机房收费系统抽象出的类,是第一次画,在画类图的时候有修改,文章后面讲述)
1.类
类(Class):封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责。
2.类图的组成:
(1)类名
(2)属性
(3)操作
如图中第一个,类图的名称是user,属性有Name, ID, Level,PWD,head 对应的操作有7个。一个类图的user是必须存在的,而属性和操作是可选的。
3.类的属性的可见性:
- Name:String
还是以第一个为例,图中name前锁的标志表示私有,手绘图用“-”表示,string表示属性的类型,所以-Name:string的意思就很明显了,它表示Student类中定义的一个私有的String类型的属性Name。除私有之外权限还有公有(public)保护(protected)
-表示private
+表示public
#表示protected
4.类图应用
在画类图的时候,发现第一次抽象出的类应该作为其他的类的操作,对于系统中出现的名词该放到哪里,类之间的联系还是很纠结的,感觉有点理不清,欢迎指正。