UML系列02之 UML类图(一)

概要

本章介绍类图中类的UML表示方法。内容包括:
类图介绍
实体类的UML表示
抽象类和接口的UML表示

转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523185.html

类图介绍

类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图。它形象的描述出了系统的结构,帮助人们理解系统。
类图是在"所有的UML图"中,实用频率非常之高;掌握它对于我们软件设计,以及交流都很有帮助。

对于类图而言,它的基本单位是类。类主要由三部分组成:类名属性操作(函数)。UML类的表示大致如下:

下面,分别介绍"实体类", "抽象类", "接口"的UML表示方法。

注:本章的图形都是通过"UML系列01之 UML和绘图工具Visio介绍"中介绍的Visio工具进行绘制的!

 

实体类的UML表示

实体类的UML示例

对应的java代码

public class Student {
    private int id;
    protected int age;
    public String name;

    private void setId(int id);
    private int getId() ;
    protected void setAge(int age);
    protected int getAge() ;
    private void setName(String name);
    private String getName() ;
}

1. 类名
类名是类的名称。 

2. 属性
UML类图中,属性的基本格式:     可见性  名称: 类型 [=缺省值]

(01) 可见性 -- 表示该属性对于类外的元素而言是否可见。
     主要包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用符号+、-和#表示。

 ┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
 ┃ 标志  ┃   可见性          ┃
 ┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
 ┃  +   │   Public         ┃
 ┠──────┼──────────────────┨
 ┃  #   │   Protected      ┃
 ┠──────┼──────────────────┨
 ┃  -   │   Private        ┃
 ┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
(02) 名称   -- 表示属性名。
(03) 类型   -- 表示属性的数据类型。可以是基本数据类型,也可以是用户自定义类型。
(04) 缺省值 -- 属性的初始值。它是一个可选项。

3. 操作
UML类图中,属性的基本格式:   可见性 名称(参数类表)  [:返回类型]

(01) 可见性 -- 表示该属性对于类外的元素而言是否可见。它的表示方法与"属性的可见性"相同。
 ┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓
 ┃ 标志 ┃   可见性           ┃
 ┣━━━━━━╇━━━━━━━━━━━━━━━━━━┫
 ┃  +   │   Public         ┃
 ┠──────┼──────────────────┨
 ┃  #   │   Protected      ┃
 ┠──────┼──────────────────┨
 ┃  -   │   Private        ┃
 ┗━━━━━━┷━━━━━━━━━━━━━━━━━━┛
(02) 名称 -- 表示方法名。
(03) 参数列表 -- 表示方法的参数。参数个数是任意的,多个参数之间用逗号","隔开。
(04) 返回类型 -- 表示方法的返回值类型。它是一个可选项;可以是具体的返回类型,可以是void,也可以无返回类型(构造方法)。

抽象类和接口的UML表示

1. 抽象类的UML表示

抽象类和实体类的UML表示法类似。区别是: "抽象类的类名是斜体",而"实体类的类名不是斜体"!

抽象类的UML示例
将上面"实体类示例"中的实体类Student改为抽象类AbstractStudent,对应的UML图如下:

2. 接口的UML表示

在UML中,通过在"类名"位置添加“interface”关键字来表示接口。示意图如下:

对应的代码:

public interface Runnable {
    public void run();
}

更多内容

01. UML系列01之 UML和绘图工具Visio介绍

原文地址:https://www.cnblogs.com/skywang12345/p/3523185.html