UML类关系总结

UML描述的类之间的关系主要有六种,分别是继承,实现,依赖,关联,聚合以及组合,并分别用各种不同的图案来表示。

1.继承

指类B(子类)继承类A(父类),并获得父类的功能,Java里面用extends关键字表示。
这里写图片描述

public class A {

}

public class B extends A{//类B继承类A

}

2.实现

指类B实现了一个接口A,Java当中用implements关键字表示。
这里写图片描述

public interface A {

    public void print();

}

public class B implements A {//实现A接口

    @Override
    public void print() {
        System.out.println("B");
    }

}

3.依赖

可以理解为类A里面用到了类B,所以类A依赖于类B,这种关系是临时性的,很弱的一种关系。在代码上的表现为类B作为参数在类A当中使用。
这里写图片描述

public class B {

}

public class A {

    public void print(B b) {//依赖与类B

    }

}

4.关联

比依赖的关系要强,属于长期性的,双方的关系是平等的。在代码上的表现是类B作为类A的属性出现。
这里写图片描述

public class B {

}

public class A {

    public B b;//作为A的属性

}

5.聚合

表现的是整体与部分的关系,整体和部分可以分离,比如一个家庭拥有两个小孩,家庭和小孩之间就是聚合关系。代码表现上和关联关系一样,只能通过语义来分别。图片中类A表示家庭,类B表示孩子。
这里写图片描述

public class Child {

}

public class Family {

    public List<Child> children;//聚合关系

}

6.组合

表现的也是整体和部分的关系,整体和部分不可分离,整体和部分拥有相同的生命周期,比如一个人拥有一个脑袋,人和脑袋就是组合关系。代码表现上和关联关系一样,也只能通过语义来分别。图中类A表示人,类B表示脑袋。
这里写图片描述

public class Brain {

}

public class Person {

    private Brain b;//组合关系

}

总结

这六种关系当中,继承和实现是最好判断的,另外剩余的这四中关系,其关系强度为 组合>聚合>关联>依赖 。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值