OOTechnology——类的关系

关联关系

类与类之间最常用的一种关系,通常将一个类作为另一个类的属性实现关联关系。

1. 双向关联

双向关联

//实现方式
class Customer{
    private Product[] products;	//顾客购买并拥有一些商品
}

class Product{
    private Customer customer;	//每件商品属于某个顾客
}
2. 单向关联

单向关联

//实现方式
class Customer{
    private Address address;	//顾客拥有一个地址
}

class Address{
}
3. 自关联

自关联

class Node{
    private Node subNode;
}
4. 多重性关联

在这里插入图片描述

  ```java
  class Form{
      private Button[] buttons; 
  }
  class Button{
  }
  ```

多重性表示方式列表

表示方式多重性说明
1…1表示另一个类的一个对象只与一个该类的对象有关系
0…*表示另一个类的一个对象只与零个或多个该类的对象有关系
1…*表示另一个类的一个对象只与一个或多个该类的对象有关系
0…1表示另一个类的一个对象只与零个或一个该类的对象有关系
m…n表示另一个类的一个对象只与m个或n个该类的对象有关系
5. 聚合关系

聚合关系

  ```java
  //整体和部分的关系,部分可以离开整体而单独存在
  class Car{
      private Engine engine;
      
      Car(Engine engine){
          this.engien = engine;
      }
      public void setEngine(Engine engine){
          this.engine = engine;
      }
  }
  class Engine{
  }
  ```
6. 组合关系
  ![组合关系](https://img-blog.csdnimg.cn/2277d19e6e014140b61e7caea190b004.png#pic_center)


  ```java
  //部分和整体的关系,部分不可以离开整体而单独存在
  class Head{
      private Mouth mouth;
      Head(){
          mouth = new Mouth();
      }
  }
  class Mouth{
  }
  ```
依赖关系

依赖关系

class Driver{
    public void drive(Car car){
        car.move();
    }
}
class Car{
    public void move(){
    }
}
泛化关系
实现关系
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值