UML类图表示法(java设计模式)

本文介绍了UML类图在Java设计模式中的应用,详细阐述了类与类之间的关联、聚合、组合、依赖、继承和实现关系,并通过实例展示了各类关系的表示方法。学习者可以通过这些笔记理解UML类图在表示对象间关系的强大工具。
摘要由CSDN通过智能技术生成

大三新开的Java设计模式,初学整理一些笔记

参考黑马课程和UML类图 - 简书

 类图表示法

在UML类图中,类使用包含类名,属性(field)和方法(method)且带有分割线的矩形来表示,例如下图的person类,它包含name,age,sex这三个属性和study方法。

                                           Person

+ name : String

-  age : int

-  sex : String

+ study(): void

方法和属性名前面的"+","-"表示了这个方法或属性的可见性,UML类图中常见的表示可见性的符号有三种:

  1. + :表示public
  2. -  :表示private
  3. # :表示protected

属性的完整表示方式是:可见性(+/-) 名称(name):  类型 (String)[ =   缺省值 ] 有初始化值在String 后加 = 加初始化值

方法的完整表示方式是:可见性 (+/-) 名称(study)(参数列表) [  :  返回值类型]  通常都有返回值,所以需要在 study 后加:加返回值类型

例子:

                                Fruit

- name:String

+ gather():void

+ product():void

# plant(int time,String name): String

在Fruit中定义了一个属性

name属性,修饰符为private,String属性

三个方法:

  1. gather()"采集"方法:修饰符为public,没有参数,没有返回值
  2. product()"加工"方法:修饰符为public,没有参数,没有返回值
  3. plant()"种植"方法:修饰符为protected,接受两个参数,第一个参数类型为int,第二个参数类型为String ,返回值为String

类与类之间关系的表现方式

关联关系

关联关系是一种引用关系,表示一类对象与另一类对象之间的联系,例如老师和学生,关联关系是类与类之间最常用的一种关系,分为一般关系,聚合关系和组合关系。

关联又可分为单向关联,双向关联和自关联。

1、单向关联

单向关联用一个带箭头的实线来表示。下图表示每一个水果都有一个地址,这通过让Fruit类持有一个类型为Address的成员变量实现。

 2、双向关联

双向关联用一条不带箭头的实线表示。下图中Customer类中维护一个List<Product>,表示一个顾客可以购买多个商品;在Product类中维护一个 Customer类型的成员变量表示这个产品被哪个用户所购买。

双向关联就是双方各自持有对方类型的成员变量

3、自关联

自关联在UML类图中用一个带有箭头且指向自身的线表示,下图的意思就是Node类包含类型为Node的成员变量,也就是自己包含自己


 聚合关系

聚合关系是强关系的一种,是强关联关系,是整体和部分之间的关系。

在UML中,聚合关系可以用带空心菱形的实线表示,菱形指向整体。

聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在,例如医院和医生,公交车和乘客,学校和老师等等。

 组合关系

组合关系是一种更强烈的聚合关系

在UML中,组合关系用带菱形实心实线来表示,菱形指向实体。

在组合关系中整体对象可以控制部分对象的生命周期,一旦整体对象不在了,部分对象也将不在,部分对象不能脱离整体对象单独存在,例如头和嘴,书本和书本上的内容等等。

 依赖关系

依赖关系是一种使用关系,它是对象之间最弱耦合方式的一种关系,是临时性的关联。 在代码中,某个类的方法通过局部变量、方法的参数和对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。 

在UML类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向依赖类。 下图显示的是司机和公交车,司机驾驶汽车。

 继承关系

继承关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类和子类之间的关系,是一种继承关系。

在UML类图中,继承关系用带空心三角箭头的虚线来表示,箭头从子类指向父类。例如Student类和Teacher类都是Person的子类,其类图如下图所示:

实现关系 

实现关系是接口与实现类之间的关系。在这种关系中类实现了接口,类中的操作实现了接口中所有的抽象操作。

在UML类图中,实现关系用空心三角箭头的虚线表示,箭头从实现类指向接口,例如,汽车和船实现了交通工具。

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值