说点废话:大学学习UML的时候一点都不用心,感觉不如学个JSP能直接写个网站出来,就把该学UML的时间用在了学做网站上,不过当时UML确实没用=_=。现在接触的东西越来越多,如果分析一些大的开源框架,即使不用画特别复杂的图的话,也要画出基本的类的继承关系和依赖关系吧。现在必须学习一下了0.0
说到UML,像我这样的业余画UML图的人,大多数时候在看源码库时喜欢用手画,对于工具也喜欢简洁的UML工具。这里推荐两个在线的画UML图的工具,当然这两款工具不仅仅只能画UML。
MacOS上还有一个叫StarUML的客户度也还不错
前者是国外开发的,后者是国内的,相对来说我喜欢前者,但是有时候网速不好=_=,前者操作舒服并且画出的图也好看些,具体看自己选择,还有很多可以用的客户端工具就不介绍了。
类之间可描述的关系大概有下面几种:继承、实现、依赖、关联、聚合、组合关系的总览图如下:
分类.png
继承(也叫泛化generalization)
用于Interface和Interface之间,或者用于Class和Class之间,如下图:
接口继承接口_类继承类.png
图中用java中常见的List集合的继承关系做为例子,List(子接口)接口继承自Collection接口(父接口),而ArrayList类(子类)继承自AbstractList(父类)这个抽象类。java 用extends关键字
<