类与类之间的关系

  在设计模式中类与类之间的关系主要有6种: 依赖、关联、聚合、组合、继承、实现, 它们之间的耦合度依次增加。

  1、依赖关系

  依赖关系是一种使用关系, 大多数情况下, 依赖关系体现在某个类的方法使用另一个类的对象作为参数。在系统实施阶段, 依赖关系通常通过三种方式来实现, 第一种也是最常用的一种: 将一个类的对象作为另一个类中的方法的参数, 第二种方式: 在一个类的方法中将另一个类的对象作为其局部变量, 第三种方式是在一个类的方法中调用另一个类的静态方法。

  

  public class Driver{
   
   public void driver(Car car){
     car.move();
}
   ......
}

    public class Car{
   public void move(){
   .....
}

 .....
}

    2、关联关系

  关联关系是类与类之间最常用的一种关系, 它是一种结构化关系, 用于表示一类对象与另一类对象之间有联系。

  

  public class Customer{
  private Product[] products;
  ......
}

  public class Product{
  private Customer customer;
  ......
}

  3、聚合关系

  聚合关系表示整体与部分的关系。 在聚合关系中, 成员对象是整体对象的组成部分, 但是成员对象可以脱离整体对象独立存在。 再代码实现中, 成员对象通常作为构造方法、 setter 方法或业务方法的参数注入到整体对象中。

  public class Car{
  private Engine engine;
  
  //构造注入
  public  Car(Engine engine){
  this.engine = engine;
   ...
 }  ... }
   //设置注入
  public void setEngine(Engine engine){
  this.engine = engine;
  ...
}
 public class Engine { ...  }
  

  4、组合关系

  组合关系也表示类之间整体与部分的关系, 但是在组合关系中整体对象可以控制成员对象的生命周期, 一旦整体对象不存在, 成员对象也就不存在了。  在代码实现中, 通常在整体类的构造方法中直接实例化成员类。

  

  public class Head{
  private Mouth mouth;
  
  public Head(){
   mouth = new Mouth();  //实例化成员类
   ...
}   ...  }
  public class Mouth{
  ...

  }

 5、继承关系(泛化关系)

  用于描述子类与父类之间的关系,父类也叫基类或超类, 子类也叫派生类。

6、接口与实现关系

  在接口中通常没有属性, 而且所有的操作都是抽象的, 只有操作的声明, 没有操作的实现。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值