EA画类图
演示所使用软件版本:
1 准备工作
1.1 新建工程
新建工程时取个工程名字然后确定,
之后会进入这个界面,选择Class,并确定:
展开Model,再展开Class Model,点击下方Class Model,进入画图界面:
此时也可以看官方文档:画布左下角第一个,
快捷键:可以按F1键,浏览器自动跳转。
1.2 清空画布或者添加画布(选中包右击鼠标 ):
全选画布中元素,右击删除选择元素(delete select elements)
或者选中包右击鼠标 新建画布:
了解Tool Box
如果toolbox没有显示,可以按下图所示调出
类之间的一般关系
2 开始画图
以下例子参照:Java 大白话讲解设计模式之 – UML类图
2.1 单个类图
在toolbox中选择class栏目下的class、
在画布中单击一下:
此时可以先修改类名
设置类的属性和方法:
在弹出的界面的右下角点击Details:
可以看到Attributes(类的属性)和Operations(类的方法)
编辑界面
效果:
3 实现类之间的一般关系
3.1 泛化关系(继承)
按照创建单个类的操作,多创建几个类(我先不设置相关属性与方法):
选择一个类:它右上角会出现一个箭头:
选中这个箭头引出一条虚线到,右击鼠标,选择Generalization(泛化),直接ok就好
效果:
3.2 实现关系
接口:
和类的操作一样设置相关属性与方法
类与接口之间的实现关系
此时会发现画的线会穿过已经画的类,如下图所示,很不美观。
解决办法:
选中那条实现关系的线,右击鼠标,Line Style
不断尝试,找到合适的线条样式
要画两条,我觉得下面这种样式好看一些
之后可以为Student 与Police 类设置相关属性和方法:
双击类 或者 选中类右击鼠标properties
效果:
3.3 依赖关系
效果:
小学生捡到钱交给警察叔叔,学生和警察叔叔就是一种依赖关系。因为学生捡到钱给警察是一种偶然的事情,交给警察后他们之间就没有关系了。我们在学生类中加入一个交钱的方法,在警察类中加入一个收钱的方法,当调用学生的交钱方法时,就调用警察的收钱方法。—Java 大白话讲解设计模式之 – UML类图
3.4关联关系
效果:
3.5 聚合关系
注意谁聚合 得到谁,这关系到谁引出一条线(聚合得到的那端是个空心菱形),凡是有类似箭头的线都要注意这点~(上面忘提这点了)
效果:
3.6 组合关系
效果:
4 最终效果
实现了上述关系的最终效果(只是为了用EA练习,暂时不考虑对错以及完整性)