Java教程

浅谈类与类之间的关系

本文主要是介绍浅谈类与类之间的关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一:依赖关系

        特性:临时、短暂、这种关系不需保存

依赖关系是对象之间最弱的一种关系,是临时性的。代码中一般指由:局部变量、函数参数、返回值建立的对于其他对象的调用关系

class A{
public B method(C c,D d){
E e = new E();
...
B b = new B();
...
return b;
} }

这个代码块中表示类A依赖了类B/C/D/E

 

二、关联关系:

对象之间的一种引用关系,比如客户类和订单类之间的关系。这种关系通常使用类的属性来表达

关联可以有方向。一般不做说明的时候,导航可以时双向的,不需要在线上标出箭头,大部分情况下导航都是单向的,可以加一个箭头表示

class Employee{
private int eid;//员工编号
private String name;//员工姓名
private Computer coumputer;//员工所使用的电脑
//....
}
class Computer{
}

 

class Husband{
private Wife wife; }
class Wife{
private Husband husband; }

 

关联表示类之间的持久关系,这种关系一般表示重要的业务之间的关系,需要保存的,或者说需要持久化,也可以说需要保存到数据库中 

三、聚合关系

聚合关系是关联关系的一种,聚合关系也是通过实例变量来实现这种关系的,关联关系和聚合关系从语法上来说是无法区分的,从语义上才能更好的去区分;

比如说汽车类和引擎类、轮胎类之间的关系就是整体和个体的关系

class Car{
private Engine engine;//引擎
private Tyre[] tyres;//轮胎
}

关联关系和聚合关系之间的区别:关联关系涉及到的两个对象是属于同一层级上的,比如人和车就是关联关系,而不是聚合关系,因为人不是由车组成的

而聚合关系涉及到的两个对象处于不平等的层级上,一个代表整体,一个代表一部分,比如电脑和他的显示器、键盘就是聚合关系

四、组成关系:

对象A包含对象B,对象B离开对象A就没有实际意义,是一种更强的关联关系,人包含手,手离开了人就失去了他应有的作用

组合类负责被组合类的声明周期,也使用属性表达组合关系,比关联关系、聚合关系更强的关联关系

class Window{
private Menu menu;//菜单
private Slider slider;//滑动条
private Panel panel;//工作区
}

 

五、继承关系

类与类的继承关系,类与接口的实现关系

父与子、动物与人、植物与树

 

 

这篇关于浅谈类与类之间的关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!