类和类之间的关系

类和类之间的关系

1.泛化(继承)表示为 is-a 关系
表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。


2.依赖 二者是一种 use-a 的关系。(没有必然联系)
对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

依赖关系表现在局部变量,方法的参数,以及对静态方法的调用


public class Person {
Department dep;

// 使用其方法
public void makePlan() {
dep.plan();
}

// 将其当做形参
public void notifyManager(Department dep) {
// ToDo
}
}
类 A(Person)使用类 B (Department),二者构成依赖关系,很明显 Department 的 plan() 有所变化,Person 的 makePlan() 也会改变。


3.关联 是一种 has-a 的关系

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的[color=red]对应关系时[/color],这两个对象之间为关联关系。

关联又可以分为单向关联、双向关联。

单向关联
在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。


4.聚合(可以分割的)

当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚集关系。聚合是关联关系的一种,是较强的关联关系,
强调的是整体与部分之间的关系。

与关联关系一样,聚合关系也是通过实例变量来实现这样关系的。关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。

关联与聚合的区别:

关联关系所涉及的两个对象是处在同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是由自行车组成的。

聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。


聚合表现一种整体与个体的关系,比如公司与员工之间、篮球队与队员之间的关系。


5.组合(不可分割的)

也叫做合成,是一种比较强(强于聚合关系)的关联关系,他强调一种整体与部分的关系。比如说人与身体器官的关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值