有关UML图

目录

UML图

基本介绍

UML图的分类 

UML图定义类

UML类图

类图简单举例 

UML类图 

依赖关系

泛化关系(继承)

实现关系 

关联关系

聚合关系

组合关系


UML图

基本介绍

  1. UML:Unified  Modeling  Language  统一建模语言
  2. 是一种用于软件系统分析和设计的语言工具
  3. 用于帮助软件开发人员进行思考和记录思路的结果
  4. 使用一些符号描述类中的元素和类与类之间的关系

UML图的分类 

  1. 用例图
  2. 动态行为图:交互图 状态图 活动图
  3. 静态结构图:类图 对象图 包图 组建图

(注:此后主要讲述类图)

UML图定义类

类名   数据成员   方法成员

                学生类:

                         学号  姓名  成绩

                         学习  运动  考试

                public:+   protected:#   默认:   private:-

                数据成员:变量名:类型名[=默认值]

                方法成员:方法名(形参名 类型名,…)[:返回类型]

UML类图

依赖:类中的方法形参 局部变量 返回类型是另一个类对象,则该类和另一个类是依赖关系。如:打印类-----学生管理类

使用虚线箭头描述依赖关系,箭头指向使用的类。

泛化(继承):继承关系。

使用实线空心箭头描述继承关系,箭头指向父类。

程序:类继承另一个类。

实现:实现关系

使用虚线空心箭头描述实现关系,箭头指向接口。

程序:类实现接口。

关联:地位平等;可以是1-1关系,1-n的关系,m-n的关系;如:朋友关系   人和身份证

两个类中可以有对方的类对象。

使用实线箭头描述依赖关系。

程序:一个类中的数据成员是另一个类对象。

聚合:一个类由另一个类组成,整体和部分的关系。整体和部分可以分开,分开后部分依然可以正常访问和使用。

如:雁群和大雁的关系

使用实线空心的菱形,菱形指向整体。

程序:类中的数据成员是另一个类对象。不进行初始化。

组合:一个类由另一个类组成,整体和部分的关系。整体和部分不可以分开,分开后部分不可以正常访问和使用。

如:人和胳膊

使用实线实心的菱形,菱形指向整体。

程序:类中的数据成员是另一个类对象。要进行初始化。

        画类图可使用插件或者亿图图示

类图简单举例 

package 练习;

public class Person{
    private Integer id;
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

 

UML类图 

依赖关系

定义:只要是在类中用到了对方,那么它们之间就存在依赖关系,如果没有对方,连编译都通过不了。

如何构成依赖关系?

  1. 类中用到了对方
  2. 是类的成员属性
  3. 是方法的返回类型
  4. 是方法接收的参数类型
  5. 方法中使用到

泛化关系(继承)

定义:泛化关系实际上就是继承关系,他是依赖关系的特例

  1. 泛化关系实际上就是继承关系
  2. 如果A类继承了B类,我们就说A和B存在泛化关系

实现关系 

 定义:实现关系实际上就是A类实现B接口,他是依赖关系的特例

关联关系

定义:关联关系实际上就是类与类之间的联系,他是依赖关系的特例

关联关系具有导航性:即双向关系或单向关系

关系具有多重性:如“1”(表示有且仅有一个),“0...”(表示0个或多个),“0,1”           (表示0个或者1个),“n...m”(表示n到m个都可以),“m...*”(表示至少m个)

聚合关系

 定义:表示的是整体与部分的关系,整体与部分可以分开聚合关系是关联关系            特例,所以它具有关联的导航性与多重性。

如:一台电脑由键盘,显示器,鼠标等组成;假设组成电脑的各个配件是可以从电             脑上分离出来的,则他们是聚合关系。

public class Computer{
    private Mouse mouse;
    private Monitor monitor;

    public void setMouse(Mouse mouse) {
        this.mouse = mouse;
    }

    public void setMonitor(Monitor monitor) {
        this.monitor = monitor;
    }
}

组合关系

定义:整体与部分的关系,但是整体与部分不可以分开

案例:在程序中,我们定义实体:Person与IDCard、Head,那么Head和Person就是组合,IDCard和Person就是聚合。

但是如果在程序中Person实体中定义了对IDCard进行级联删除,即删除Person连同IDCard一起删除,那么IDCard和Person就是组合了。

public class Person{
    private IDCard card;            //聚合关系
    private Head head=new Head();   //组合关系
}
public class IDCard{}
public class Head{}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值