首页 > 代码库 > 面向对象中常见的关系理解
面向对象中常见的关系理解
面向对象有几种关系
泛化和实现
关联和依赖
关系理解
泛化:就是继承 实线带三角形
实现:就是实现接口 虚线带三角型
关联:分为三种,单向关联,双向关联和自身关联。实线
双向关联:这意味着,两个类彼此知道它们间的关系。从代码级别上看,就是A类里存在对B类的属性应用,B类里也存在着对A类的应用
单向关联:在一个单向关联当中,两个类是相关的,但是只有一个类知道这种联系的存在。从代码级别上看,就是A类对象对B类对象的属性应用,但B类里没有A类的应用。
自身关联(反射关联)。当一个类关联到它本身时,这并不意味着类的实例与它本身相关,而是类的一个实例与类的另一个实例相关。
什么是聚合:聚合关系是一种特殊的关联关系。是一个类引用了另外一个类。但是其表示一个明确的整体和部分的关系。是一种has-a关系。但聚合所表示的整体与部分,没有必然的生命周期联系。整体的创建不一定会引起部分的关键,整体的消失,也不一定会让部分全部消失,比如篮球队和篮球队员,电脑和键盘的关系。
上代码:
class Computer{
private KeyBoard board//整体的创建,并不一定会部分创建。
}
什么是组合:整体的创建必须要伴随其相关联部分的创建,整体的销毁也将会引起部分的全部销毁。
上代码:
class Motor{
ArrayList dogs=new ArrayList()//同时创建,同时销毁。
}
依赖:一个事物的变化会影响到另外一个事务。
主要有3种形式,一种是方法的返回参数的类型是依赖这个类;一种是方法的形参是依赖这个类;另一种是依赖这个方法里面的对象。 虚线带箭头
本文出自 “简答生活” 博客,谢绝转载!
面向对象中常见的关系理解