Java的类图

本文详细解释了Java中的类图,包括类、接口的表示方法,以及泛化、实现、关联、聚合、组合和依赖等各种关系的定义和示例。这些概念在软件设计和架构中至关重要。
摘要由CSDN通过智能技术生成

描述类/接口的类图

类的类图形式为:
在这里插入图片描述

接口的类图形式为:
在这里插入图片描述

  • 其中第一层表示类名:如果是正体字,表示是具体的可以实例化的类;如果是斜体字,表示成抽象类。

  • 第二层表示属性。属性左边是表示可见性的符号,加号(+)表示public,减号(-)表示private,井号(#)表示protected,波浪线(~)表示package/default。属性右边表示属性的类型。

  • 第三层表示方法。方法左边是表示可见性的符号,加号(+)表示public,是减号(-)表示private,井号(#)表示protected,波浪线(~)表示package/default。方法的括号中可以变量的类型,可以不写。方法的右边表示返回值类型,也可以不写。

  • 对于静态属性、方法,在下面有一道下划线。

  • 接口的类图跟类的类图表示方法几乎一致,区别在于接口的名有<<interface>><<接口>>)字样。

例如,如果Person是一个类,可以表示为:
在这里插入图片描述

如果Person是一个抽象类,可以表示为:
在这里插入图片描述

如果Person是一个接口,可以表示为:
在这里插入图片描述

泛化(Generalization)关系

泛化关系指类与类之间的继承关系,接口与接口之间的继承关系。在Java中,泛化关系对应extends关键字。

关系连线:实线,从子类指向父类,空心三角。

示例:下面表示了类的继承关系:
在这里插入图片描述

实现关系

实现关系,指类对接口的实现关系。在Java中,实现关系对应implements关键字。

关系连线:虚线,从实现接口的类指向被实现的接口,空心三角。

示例:
在这里插入图片描述

关联关系(Association)

关联关系是类和类之间的联接,一个类是另外一个类的成员属性。在Java语言里,关联关系是使用实例变量实现的。
一个关联关系往往又可以进一步确定为聚合关系、组合关系。如果不确定是不是聚合关系、组合关系,那就用一般关系。

关联关系有单向关联、双向关联。
双向关联可以有两个箭头,或者没有箭头,一般是不带箭头。
单向关联有一个箭头,表示关联的方向,箭头指向成员类。

示例:单向关联
在这里插入图片描述

示例:双向关联
在这里插入图片描述

聚合关系(Aggregation)

聚合关系是关联关系的一种,是强的关联关系。聚合是整体和部分之间的关系。一个类代表整体,一个类代表部分。整体和部分可以分离,即部分可以脱离整体而存在,例如汽车与轮胎的关系。

关系连线:空心菱形、实线,菱形端指向聚合方。

示例:
在这里插入图片描述

组合关系(Composition)

组合关系是关联关系的一种,是比聚合关系更强的一种关系。部分不能脱离整体而存在,例如人和嘴之间的关系。

关系连线:实心菱形、实线,菱形端指向组合方。

示例:
在这里插入图片描述

依赖关系(Dependency)

依赖关系是类之间的一种单向依赖关系,它表示一个类依赖于另一个类。

在Java中,依赖关系一般体现为方法的参数、局部变量、一个类对另外一个类的静态方法的调用。

如果一个类出现在另外一个类的实例变量中,那就变成了关联关系,而超越了依赖关系。

关系连线:带单箭头的虚线,箭头指向被依赖的类。

示例:
在这里插入图片描述

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值