码猿技术专栏

微信公众号:码猿技术专栏

设计模式之常见关系

继承和泛化

  • 泛华关系是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
  • 使用三角箭头的实线表示继承,其中箭头指向的是父类
    继承图形

接口与实现

  • 在java中一个类只能继承一个父类,但是可以实现多个接口
  • 使用的是带三角的虚线表示,其中箭头指向的是接口

实现接口

依赖

  • 是一种使用关系,即一个类的实现需要另外一个类的协助,所以尽量不使用双向的依赖关系。
  • 最典型的就是import
  • 比如:一个类要定义String类型的变量,那么这个类就是依赖String这个类

依赖

关联

  • 是一种拥有的关系,它使一个类知道另外一个类的属性和方法,比如数据库中的关系,通过学生可以查找到自己课程的成绩,只需要在学生中定义一个课程的对象即可。
  • 代码体现: 成员变量
  • 带普通箭头的实心线,指向被拥有者

关联

聚合

  • 是整体和部分的关系,且部分可以离开整体而单独的存在。车和轮胎是整体和部分的关系,但是轮胎离开车还是可以单独存在的

  • 代码体现: 成员变量

  • 带空心菱形的实心线,菱形指向整体

聚合

组合

  • 是整体和部分的关系,但是部分不能离开整体而单独存在
  • 代码体现:成员变量
  • 带实心菱形的实线,菱形指向整体

组合

笔者有话说

  • 最近建了一个微信交流群,提供给大家一个交流的平台,扫描下方笔者的微信二维码,备注【交流】,我会把大家拉进群

欢迎关注我的其它发布渠道