--类与类之间的关系

–类与类之间的关系

主要有以下三种关系

1.继承:
  1. 是指一个类继承另外一个类,并增加他自己新的功能,通过关键字extends明确标识

  2. 子类拥有父类的成员和方法

  3. 判断两个类是不是继承关系:

    子类 *is* 父类 —>是否合理

实现:一个类可以实现多个接口
·代码模板:·

 class 类名   implements 接口{

}

2.依赖

简单理解,依赖就是一个类A使用到了另一个类B,而这种关系是具有偶然性的临时性的非常弱的,但是类B的变化会影响到类A。比如某人要过河,需要借用一条船,人此时与船的关系就是依赖。

在代码层面,类B作为参数被类A在某个method方法中使用

判断方法:

A类 use B类----->看是否合理

3.关联:
  • 是一种强依赖,不存在偶然性、临时性,一般是一种长期的,且类的关系一般是平等的。

  • 关联可以是单向的,也可是双向的

    class Customer {
     Order[] orders;
    }
    class Order{
     Product[] products;
    }
    class Product{
     
    }
    

在代码层面:

被关联类B的属性形式出现在关联A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。

判断两个类是不是关联关系:

A类 has B类

3.1聚合关系:

聚合是关联关系的特例,它体现了整体与局部的关系,即has a的关系。

整体跟局部之间没没有共同的生命周期;

3.2组合关系:

组合也是关联关系的特例,它体现的是contains a的关系,整体局部之间有共同的生命周期

类之间关系的总结:

后几种关系所表现的强弱程度以此为:组合>聚合>组合>依赖

设计思路:高内聚、低耦合

a) 继承和实现一般没有争议

b) 后四种关系的强弱:组合>聚合>关联>依赖。

c) 关联和依赖的区别:

i. 关联关系强、长期

ii. 关联关系是通过属性来实现;依赖关联是通过方法形参或者局部变量实现

d) 关联、组合/聚合的异同

i. 相同:都是关联,都是做类的属性

ii. 不同点:组合 /聚合表示的是整体和部分的关系,关联可以表示所有关系

e) 组合和聚合的异同

i. 相同:都是关联的特例,都是表示的整体和部分的关系

ii. 不同点:整体部分的生命周期是否相同?组合更强

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值