UML图 - 类图(Class Diagram)

类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。

类图的结构

UML图 - 类图(Class Diagram)_第1张图片

类一般由三部分组成:

  • 类名:每个类都必须有一个名字,类名是一个字符串。

  • 类的属性:类的成员变量。一个类属性个数大于等于零。 表示方法为:

    可见性 名称:类型 [ = 缺省值 ]

    a. “可见性”包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用符号+、-和#表示。表示属性对于类外的元素是否可见。
    b. “名称”用一个字符串表示属性名。
    c.“类型”可以是基本数据类型,也可以是用户自定义类型,表示属性的数据类型。 d.
    “缺省值”为可选项,即属性的初始值。

  • 类的操作:类的任意一个实例对象都可使用的类的成员方法。表示方法:

    可见性 名称(参数列表) [ : 返回类型]

    a.“可见性”的定义同属性。
    b.“名称”用字符串表示。
    c.“参数列表”表示方法的参数,其语法与属性的定义相似,参数个数是任意的,多个参数之间用逗号“,”隔开。
    d.“返回类型”是一个可选项,表示方法的返回值类型,依赖于具体的编程语言,可以是基本数据类型,也可以是用户自定义类型,还可以是空类型(void),如果是构造方法,则无返回类型。

类的关系

关系类型 含义 符号 例子
依赖(Dependency) 表示一个类的方法通过另一个类的对象来完成。 UML图 - 类图(Class Diagram)_第2张图片 电脑和USB接口的关系。电脑类的methods(如connectUSB)可能会用到USB接口,如果USB接口发生了改变,那么电脑类也可能需要相应地修改。
关联(Association) 表示一个类知道另一个类的属性和方法,可以是双向的,也可以是单向的。 UML图 - 类图(Class Diagram)_第3张图片 学生和课程的关系。每个学生可以关联多门课程,而每门课程也可以关联多个学生。
继承(泛化, Generalization) 表示子类是父类的一种,子类继承父类的所有属性和方法,同时可以有自己特有的。 UML图 - 类图(Class Diagram)_第4张图片 鸟类和乌鸦的关系
实现(Realization) 通常用于表示类和接口之间的关系,类实现接口的所有方法。 UML图 - 类图(Class Diagram)_第5张图片 接口和类的关系
聚合(Aggregation) 表示一个类是另一个类的集合或部分,且部分和整体的生命周期可以不一致。 UML图 - 类图(Class Diagram)_第6张图片 公司和员工的关系。公司由多个员工组成,但是员工可以离开公司,也可以更换公司。
组合(Composition) 也表示一个类是另一个类的部分,但是它表示更强的所有权,整体和部分的生命周期合一。 UML图 - 类图(Class Diagram)_第7张图片 人和心的关系,人的生存依赖于心脏,心脏不能离开人而存在。

注意

封装、继承和多态是面向对象编程的三个基本特征,它们是面向对象编程的基本思想,用来描述类或对象之间的交互和组织的方式。封装是个过程,,多态则是一种表现,他们不属于类的关系。

你可能感兴趣的:(UML图,uml,java,开发语言)