类,UML中用的最多的图,最能反应OO思想。
类图,class diagram,一个类,就是一个矩形。显示模型的静态结构,不显示暂时性信息。
类是具有某种责任的抽象体。
由三个矩形组合而成,类名,属性,方法。
+号表示public -号表示private #号表示protect 省略的表示package
属性或方法有下划线,说明是静态的,描述信息使用<< >>
类图的语法不复杂,但是提炼出合适的类却不是一般人所能的。
类之间的关系:
两个类有关系,但暂时不明是什么关系,用一条线搞定。
此外还有,一对一,一对多的关系
空心菱形表示的是“弱”包含,如果汽车没有了,轮子还是可以存在的。 实心菱形表示的是“强”包含,如果汽车没有了,轮子也会消失掉。 空心菱形,英文叫:Aggregation,直接翻译叫:聚合。 实心菱形,英文叫:Composition,直接翻译叫:组合。
类中的继承关系
理解二个符号:
这个符号,英文叫:Generalize 一般化(is a); 这个符号,英文名叫:Dependency,中文翻译为:依赖如果一个烟鬼嗜烟如命,用类图可以这样表示:
你很爱你老婆,没有你老婆你活不下去,可以这样表示:
再看一下接口的UML表示:
本图表示:Implement类实现了接口Interface。 接口是类的一种,本图上面的框框表示了一个接口,关键字<<interface>>表示这是一个接口,接口的名字是斜体的。 有一条从Implement出发的虚线,通过三角形指向Interface,这表示类Implement实现了接口Interface。 实现这个符号与继承的符号很类似,实现是虚线的,继承是实线的。
题目1:请用类图对你们公司的所有人员进行分类。
题目1: ---------- 职员 ---------- 职员姓名 职员职务 ---------- 工作() 赚钱() ----------
题目2:请用类图对访问本网站的人员进行分类。
题目2 注册用户 ———————— 用户姓名 用户登陆时间 ---------------------- 浏览时间() 用户IP() ---------------------
题目3:请用类图描述公司与雇员的关系。
题目4:请用类图描述你们公司的组织架构。 题目5:请用类图表达出你和你的另外一半的所有关系。