• UML图 - 类图(Class Diagram)


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

    类图的结构

    在这里插入图片描述

    类一般由三部分组成:

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

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

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

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

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

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

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

    类的关系

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

    注意

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

  • 相关阅读:
    如何快速通过pmp考试,求攻略?
    lua数据打印
    ReLabel:自动将ImageNet转化成多标签数据集,更准确地有监督训练 | 2021新文
    Java多线程的面试题
    【后端面经-Java】HashMap详解
    leetcode 343 整数拆分
    一种新的数据聚类启发式优化方法——黑洞算法(基于Matlab代码实现)
    什么是绩效管理?
    常量指针、指针常量,指针数组、数组指针,函数指针、指针函数
    如何通过远程桌面连接另一台电脑
  • 原文地址:https://blog.csdn.net/gghhb12/article/details/133710902