首页 > 编程语言 >onJava8学习笔记

onJava8学习笔记

时间:2024-04-12 10:55:18浏览次数:26  
标签:关系 生命周期 聚合 组合 整件 部件 笔记 学习 onJava8

onJava8: Thinking In Java sequel

第一章:对象的概念

※,复用

组合(UML实心三角形)和聚合(UML空心三角形)都属于关联关系的一种,只是额外具有整体-部分的意义。至于是聚合还是组合,需要根据实际的业务需求来判断。可能相同超类和子类,在不同的业务场景,关联关系会发生变化。只看代码是无法区分聚合和组合的,具体是哪一种关系,只能从语义级别来区分。聚合关系中,整件不会拥有部件的生命周期,所以整件删除时,部件不会被删除。再者,多个整件可以共享同一个部件。组合关系中,整件拥有部件的生命周期,所以整件删除时,部件一定会跟着删除。而且,多个整件不可以同时共享同一个部件。这个区别可以用来区分某个关联关系到底是组合还是聚合。两个类生命周期不同步,则是聚合关系,生命周期同步就是组合关系。

在面向对象编程中经常重点强调 “继承”。在新手程序员的印象里,或许先入为主地认为 “继承应当随处可见”。沿着这种思路产生的程序设计通常拙劣又复杂。相反,在创建新类时首先要考虑 “组合”,因为它更简单灵活,而且设计更加清晰。等我们有一些编程经验后,一旦需要用到继承,就会明显意识到这一点。

 

标签:关系,生命周期,聚合,组合,整件,部件,笔记,学习,onJava8
From: https://www.cnblogs.com/everest33Tong/p/18130696

相关文章

  • 26.前后端学习小建议和xml文件中一些总结
    首先关于xml文件中一般用到的东西很容易忘记写这个导致在html文件中无法识别语法<htmllang="en"(thymeleaf:)xmlns:th="http://www.thymeleaf.org"(shiro和thymeleaf:)xmlns:shiro="http://www.thymeleaf.org/thymeleaf-extras-shiro"(springsecurity和thymeleaf:)xml......
  • 狂神说Java Web学习笔记_Session
    原理图服务器会给每一个用户(浏览器)创建一个session对象一个session独占一个浏览器,主要浏览器没有关,这个session就存在登录之后,整个网站都可以访问常用场景保存一个用户的登录信息在整个网站中经常会使用到的数据常用的session方法//得到SessionHttpSessionsession=re......
  • Python爬虫学习
    基础语法字符串单引号双引号都行,是为了打印出引号才设计出两种的s1='"haha"'s2="'haha'"print(s1)print(s2)#结果是:"haha"'haha'事实上就近匹配,比如s=''haha''会被解析成前面俩一对后面俩一对s='''haha&......
  • Elastic学习之旅 (9) 结构化搜索
    大家好,我是Edison。上一篇:基于Term和全文的ES查询结构化数据结构化搜索(StructuredSearch)是指对结构化数据的搜索,那么,什么数据是结构化的呢?ES中日期、布尔类型和数字都是结构化的。另外,文本也可以是结构化的:比如彩色笔可以有离散的颜色集合:红、蓝、绿等;一个博客也可能......
  • 卷积神经网络调参之学习率
    原文链接:https://blog.csdn.net/hzqgangtiexia/article/details/80509211学习率对于深度学习是一个重要的超参数,它控制着基于损失梯度调整神经网络权值的速度,大多数优化算法(SGD、RMSprop、Adam)对其都有所涉及。学习率越小,损失梯度下降的速度越慢,收敛的时间更长,如公式所示:new_wei......
  • Flink源码学习(4) TaskManager从节点启动分析
    taskManager是flink的worker节点,负责slot的资源管理和task执行一个taskManager就是一台服务器的抽象TaskManager基本资源单位是slot,一个作业的task会部署在一个TM的slot上运行,TM会负责维护本地的slot资源列表,并与Master和JobManager进行通信启动主类:TaskManagerRunnerTaskMan......
  • 狂神说Java Web学习笔记_Cookie
    会话用户打开一个浏览器,点击了很多链接,访问了很多web资源,关闭浏览器之后,这个过程可以称之为一次会话。有状态会话一个同学来过教室,大家看到了,下次再来教室的时候,我们会知道这个同学曾经来过,这个被称为有状态会话。一个网站如何证明你访问过?服务端给客户端一个信件,客户端下次......
  • 1st Universal Cup 做题笔记
    Stage1:Shenyanghttps://qoj.ac/contest/1096A只需要考虑每个pair的贡献即可,而相交的pair数量是线性的,因此可以暴力搞,剩下的不相交的pair拿前缀和做就行了,复杂度\(\mathcalO(n\logn)\)。cornercase是当一方的区间全部退化的时候,需要重新计算一下出现的概率。BC......
  • [学习笔记] LCA - 图论
    [NOIP2013提高组]货车运输最大生成树+LCA+倍增好家伙,这道题我写了一个晚上,调了两个晚上,对于这道题我颇有感触。但这道题确实好,实实在在的蓝题,让我发现了许多关于LCA的问题。首先,这个题给的是一个无向图,并不是个树,为了减少运算量,我们可以把它变成一个树。运用Kruskal算法生......
  • 读论文-基于自注意力机制和迁移学习的跨领域推荐算法
    前言今日要读的文章为一篇2022年4月2日发表于《计算机科学》的期刊文章;文章发现了传统的单领域推荐算法的问题:传统的单领域推荐算法受限于用户和项目的稀疏关系,存在用户/项目冷启动的问题,并且,其仅以用户对项目评分进行建模,忽略了评论文本中所蕴含的信息。基于此,文章提出了一种基......