zoukankan      html  css  js  c++  java
  • 设计模式---类之间的关系知多少

    设计模式中的关系总结

    在软件系统中,类并不是独立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。现在来总结梳理下:

    一、关联关系

    类与类之间最常用的一种关系,是一种结构化的关系,用实线连接有关联关系的对象所对应的类。java中,常将一个类的对象作为另一个类的成员变量。

    1.双向关联

    在这里插入图片描述

    2.单向关联

    在这里插入图片描述

    3.自关联

    在这里插入图片描述

    4.多重性关联

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.聚合关系

    聚合(Aggregation)关系表示整体与部分的关系。

    在这里插入图片描述
    在这里插入图片描述

    6.组合关系

    组合关系也表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制对象成员的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系。

    组合关系用带实心菱形的直线表示。
    在这里插入图片描述
    在这里插入图片描述

    二、依赖关系(Denpendency)

    依赖(Denpendency)关系是一种使用关系。
    大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。
    在这里插入图片描述
    敲黑板:
    依赖关系通常通过3种方式来实现。

    • 第一种: 如上图,将一个类的对象作为另一个类中的方法
    • 第二种: 在一个类的方法中将另一个类的对象作为其局部变量
    • 第三种: 在一个类的方法中调用另一个类的静态方法。

    三、泛化关系(Generalization)

    泛化(Generalization)关系也就是继承关系,用于描述父类与子类之间的关系。
    泛化关系用带空心三角形的直线来表示。

    在这里插入图片描述

    四、实现关系(Realization)

    在接口中,通常没有属性。而且所有的操作都是抽象的,只有操作的声明,没有操作的实现。
    接口之间可以有与类之间关系类似的继承关系和依赖关系。
    接口与类之间还存在一种实现(Realization)关系。
    这种关系,类实现了接口,类中的操作实现了接口中所声明的操作。
    实现关系用带空心三角形的虚线来表示。

    在这里插入图片描述
    在这里插入图片描述


    总结,以上主要介绍了设计模式中的类与类之间存在的各种关系,不同类型的关系,UML如何表示。

    文章参考:《设计模式的艺术--软件开发人员的内功修炼之道》


    在这里插入图片描述
    欢迎关注本人微信公众号,不定时推送相关文章,有任何问题都可以留言讨论,希望和大家共成长。


    感谢点赞和收藏,转发请注明文章地址和作者名称。

  • 相关阅读:
    半夜的时候,干了个活,反了个小软件
    bzoj2243[SDOI2011]染色
    bzoj4034[HAOI2015]T2
    bzoj2661[BeiJing wc2012]连连看
    bzoj1406[AHOI2007]密码箱
    bzoj1452[JSOI2009]Count
    bzoj1934[Shoi2007]Vote 善意的投票
    bzoj1787[Ahoi2008]Meet 紧急集合&bzoj1832[AHOI2008]聚会
    bzoj1293[SCOI2009]生日礼物
    bzoj1221[HNOI2001] 软件开发
  • 原文地址:https://www.cnblogs.com/hufanglei/p/13061942.html
Copyright © 2011-2022 走看看