zoukankan      html  css  js  c++  java
  • UML关系图

    回忆下UML图

    继承

     接口实现

     

    接下来是类与类的关系(从弱到强)

    倚赖(dependency):

    类与类之间的连接,表示一个类依赖于另外一个类的定义,依赖关系时是单向的

    简单理解就是类A使用到了类B,这种依赖具有偶然性、临时性,是非常弱的关系。

    在java中表现为:

    1.局部变量

    2.方法中的参数

    3.对静态方法的调用

    关联(association)

    关系表示类与类之间的连接,它使得一个类知道另外一个类的属性和方法
    关联关系体现的是两个类,或者类与接口之间的强依赖关系,这种关系很强烈,比依赖更强,不是偶然性的,也不是临时性的,而是一种长期性,相对平等的关系。

    Java中表现

    1.使用实例变量

    聚合(aggregation)

    是关联关系的特例,是强的关联关系,聚合是整个与个体的关系,即has-a关系(is-a是继承),此时整体和部分是可以分离的,他们具有各自的生命周期,部分可以属于多个对象,也可以被多个对象共享;
    比如计算机和CPU,公司与员工的关系;

    与关联代码层面一致。

     

    组合(compostion)

    是关联关系的一种特例,体现的是一种contain-a关系。它同样体现整体与部分的关系,但此时整体与部分是不可分的,整体生命周期的结束也意味着部分生命周期的结束,反之亦然。

    与关联代码层面一致。
    组合/聚合区别:

    组合“部分”不能脱离“整体”单独存在,其生命周期应该是一致的。

    聚合“部分”可以脱离“整体”单独存在,他们具有各自的生命周期。

  • 相关阅读:
    JAVA中对Cookie的操作
    springboot 快速开发的定制补充
    centos7 安装 mysql5.7 版本(全)
    springboot redis-cache 自动刷新缓存
    spring-data-redis-cache 使用及源码走读
    Redis 相关功能和实用命令(五)
    Redis 集群(三)
    Redis 主从,哨兵,集群实战(四)
    redis 主从复制和哨兵模式(二)
    导出 mysql 数据到 redis
  • 原文地址:https://www.cnblogs.com/Gang-Bryant/p/10785139.html
Copyright © 2011-2022 走看看