Java中的对象之间的关系有多种,在此之前我着实对这些只是有一点模糊的概念,知道有一次在面试中被面试官问道,才有了这些概念。那就今天借这个机会同大家分享下这个知识点,同时我也在去学习一遍。
1.依赖关系:
这种关系是几种关系中最弱的一种,是对象之间的一种临时关系。例如在一个方法中的返回值供其他对象的调用,这样就与其他的对象建立了一种临时的关系,等调用该方法结束后,他们之间产生的关系也就结束了。
2.关联关系:
所谓的关联关系,对象彼此之间的一种联系。例如淘宝中,用户类与订单类之间的关系,他们彼此之间存在一种互相关联的关系。这种关系在使用中比较常见。
3.聚合关系:
关于聚合的概念其实我不是很明白,我这里就引用别人的一个解释给大家解释下:------>聚合:指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。需求描述中“包含”、“组成”、“分为…部分”等词常意味着聚合关系。
4.组合关系:
组合关系其实在我们日常中比较常见的一种关系。我就把我在面试中面试官给我讲的一个实例分享下:就是车轮与自行车的关系,当时我不是很清楚,我直接说是组成关系,然后那个面试官说你说的没错,但是专业一点的叫法是组合关系或者说是包含关系。所以大家记住,不要自己随便改变一些术语的名字。是什么就是什么,这样才显的你很专业吗。
5.继承关系:
继承关系是确切的说是类与类之间的关系,但是对象又是类的实例,所以我们就姑且含糊点理解为对象之间的关系吧,其实这种关系不管是在我们编程还是生活中都是非常普遍的一种关系,例如父与子的关系,动物与狗的关系,汽车与大众的关系等。
上面只是偏向概念性的内容,但在真正使用的时候是比较复杂的,所以大家在理论的基础上还需更多的时间。我也会在后期整理一些案例与大家共同学习。
每日励志:The secret of their extraordinary success lay precisely in that insatiable curiosity,
that irrepressible desire to know,no matter what the subject and no matter what the cost.
翻译:他们取得非凡成就的秘密,是他们永远不满足的好奇心和难以遏制的求知欲,以及对任何事物的不计代价的付出。