UML基本介绍

UML类图

image.png

类图—依赖关系(dependency)

  • 定义:
    • 类中使用到对方,否则编译都不通过
  • 案例(源码)
  1. public class persionServiceBean{
  2. private PersionDAO persionDAO;
  3. public IDCard getIdCard(Integer cardId){
  4. return null;
  5. }
  6. public void mody(){
  7. DepartMent dm = new DepartMent();
  8. }
  9. }
  10. class PersionDAO{}
  11. class IDcard{}
  12. class Persion{}
  13. class DepartMent{}
  • 案例:类图 UML 类图 - 图2
  • 小结:

    • 类中使用到对方
      • 类的成员 属性
      • 方法的返回值
      • 方法接收参数类型
      • 方法中使用到

        类图—泛化关系(generalization)

  • 定义:泛化关系实际上是继承关系,依赖关系的特例。

  • 案例:
  1. public abstract class DaoSupport{
  2. public void save(Object entity);
  3. public void delete(Object id);
  4. }
  5. public class persionServiceBean extends DaoSupport{}

UML 类图 - 图3

  • 小结:
    • 泛化关系-》继承关系
    • 如果A类继承B类,A类和B类存在泛化关系

参考 plantUML

类图—实现关系(Implementation)

  • 定义:实现关系A类实现B类,依赖关系的特例
  • 案例(源码):
  1. public interface persionService{
  2. public void delete(Integer id);
  3. }
  4. public class persionServiceBean implements persionService{
  5. public void delete(Integer id){
  6. }
  7. }
  • 案例:类图

UML 类图 - 图4

类图—关联关系(Association)

  • 定义:关联关系——》类于类之间的联系,依赖关系的特例。
  • 案例:
    • 关联关系具有导航性,既双向关系或单项关系
    • 关联关系具有多重性:如”1” (表示仅有1个),”0……”(表示0个或多个),”0,1”(表示0个或1个),”n……m”(表示n……m个)
  • 案例(源码)
  1. //单项一对一关系
  2. public class Persion{
  3. private IDCard iDCard;
  4. }
  5. public class IDCard{
  6. }

案例:类图

UML 类图 - 图5

  • 案例2:源码
    1. //双向一个对一的关系
    2. public class Persion{
    3. private IDCard iDCard;
    4. }
    5. public class IDCard{
    6. private Persion persion;
    7. }
    案例2:类图

UML 类图 - 图6

类图—聚合关系(Aggregation)

基本介绍

  • 定义:聚合关系表示整体和分部的关系,整体可以于分部分开。聚合关系是关联关系的特例,具有关联的导航性于重用性
  • 如:电脑:由键盘(keyword)、显示器(monitor)、鼠标等组成。

    应用案例

  • 源码

  1. class computer{
  2. private Mouse mouse;
  3. private Keyword keyword;
  4. public void setKeyword(Mouse mouse){
  5. this.mouse=mouse
  6. }
  7. public void setMouse(Keyword keyword){
  8. this.keyword=keyword
  9. }
  10. }
  11. class Mouse{}
  12. class Keyword{}
  • 案例:类图

UML 类图 - 图7

类图—组合关系(Composition)

基本介绍

  • 定义:如果人们将mouse、Keyword和computer 认为是不可分类的,则升级为组合关系。

    应用案例

  • 案例1:源码

  1. class computer{
  2. private Mouse mouse = new Mouse();
  3. private Keyword keyword = new Keyword();
  4. }
  5. class Mouse{}
  6. class Keyword{}
  • 案例 1:类图

UML 类图 - 图8

  • 案例 2 :源码
  • image.png
  1. class person{
  2. private IDcard iDcard;
  3. private Head head = new Head();
  4. }
  5. class IDcard{}
  6. class Head{}
  • 案例2 :类图

UML 类图 - 图10