美文网首页
Java开发 类与类之间的关系(关联+依赖)【学习篇8】

Java开发 类与类之间的关系(关联+依赖)【学习篇8】

作者: iOS_PM_WEB_尛鹏 | 来源:发表于2020-04-26 16:11 被阅读0次

    【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!
    {\color{#3f48cc}{\pmb{点击右上角小【1】快速预览本文内容}}} [1]

    🔥知识点内容

    🔓1. 关联 [2]

    关联是一种结构关系,说明一个事物的对象与另一个事物的对象相联系。给定有关联的两个类,可以从一个类的对象得到一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多多对一的关系
    关联就是某个对象会长期的持有另一个对象的引用,而二者的关联往往也是相互的。关联的两个对象彼此间没有任何强制性的约束,只要二者同意,可以随时解除关系或是进行关联,它们在生命期问题上没有任何约定。被关联的对象还可以再被别的对象关联,所以关联是可以共享的。
    两个类之间的简单关联表示了两个同等地位之间的结构关系。当你想要表示结构化关系时使用关联
    关联表示has-a关系,如学生拥有一个课程,往往表现为B作为A的属性存在(A关联B)

    • 一对一
      最典型的一对一关系莫过于人和证件之间的关联,例如:一个人只能有一个驾照,而一个驾照只能归属与一个人:
      image.png
    • 一对多
      人还可以跟其他事物构建一对多的关联关系,比如将驾照换为荣誉证书,那么一个人可以有多个荣誉证书,我们可以使用数组或集合来描述这个关系
      image.png
    • 关联关系还可以细分为 聚合组合 两种
    • 聚合是一种特殊的关联 [3],表示整体对象拥有部分对象。 关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。聚合是较强的关联关系,强调的是整体与部分之间的关系。聚合的整体和部分之间在生命周期上没有什么必然的联系,部分对象可以在整体对象创建之前创建,也可以在整体对象销毁之后销毁。
      image.png
    • 组合是聚合的一种形式 [4],它具有更强的拥有关系,强调整体与部分的生命周期是一致的,整体负责部分的生命周期的管理。生命周期一致指的是部分必须在组合创建的同时或者之后创建,在组合销毁之前或者同时销毁,部分的生命周期不会超出组合的生命周期。例如Windows的窗口和窗口上的菜单就是组合关系。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被复制。
      image.png

    🔓2.依赖 [5]

    依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立
    此关系最为简单,也最好理解,所谓依赖就是某个对象的功能依赖于另外的某个对象,而被依赖的对象只是作为一种工具在使用,而并不持有对它的引用
    依赖体现了“use a”关系
    依赖关系一般使用方法的参数体系

    🔓3.类与类之间的关系 [6]

    类与类之间的横向关系较为微妙,大体上可以分为四种:依赖 、关联、聚合、组合
    依赖体现了use a关系,通常使用方法的参数描述
    关联体现了has a关系,通常使用类的成员属性描述
    几种关系的强弱如下:依赖 < 关联 < 聚合 < 组合

    image.png

    🔥2.应用场景:


    🔥3.实现目标:


    🔥4.代码实现:




    1. 🔥【知识点回顾·简介】 ↓↓↓

    2. 🔑[关联]

    3. 🔑[关联-聚合]

    4. 🔑[关联-组合]

    5. 🔑[依赖]

    6. 🔑[类与类之间的关系]

    相关文章

      网友评论

          本文标题:Java开发 类与类之间的关系(关联+依赖)【学习篇8】

          本文链接:https://www.haomeiwen.com/subject/ltndwhtx.html