UML类图

UML类图介绍

  • 概念

UML中的类图(Class Diagram)用于表示类、接口、实例等之间相互的静态关系。虽然名字叫作类图,但是图中并不仅仅只有类。

  • 类结构

UML类图

  • 继承

UML类图

该图展示了Parentclass和Childclass两个类之间的关系,其中的空心箭头表明了两者之间的层次关系。箭头由子类指向父类,换言之,这是表示继承(extends)的箭头。
ParentClass是Childclass的父类,反过来说,Childclass是Parentclass的子类。父类也称为基类或超类,子类也称为派生类。

  •  实现

UML类图

该图表示PrintClass类实现了Printable接口。为了强调接口与抽象类的相似性,本书的类图中会以斜体方式显示接口的名字。不过在其他书的类图中,接口名可能并非以斜体显示。空心箭头代表了接口与实现类的关系,箭头从实现类指向接口。换言之,这是表示实现(implements)的箭头。

  •  聚合

UML类图

该图展示了Color(颜色)、Fruit(水果)、Basket(果篮)这3个类之间的关系。Basket类中的fruits字段是可以存放Fruit类型数据的数组,在一个Basket类的实例中可以持有多个Fruit类的实例;Fruit类中的color字段是Color类型,一个Fruit类实例中只能持有一个Co1or类的实例。通俗地说就是在篮子中可以放人多个水果,每个水果都有其自身的颜色。我们将这种“持有”关系称为聚合(aggregation)。只要在一个类中持有另外一个类的实例无论是一个还是多个一它们之间就是聚合关系。就程序上而言,无论是使用数组、java.uti1Vector或是其他实现方式,只要在一个类中持有另外一个类的实例,它们之间就是聚合关系。在UML中,我们使用带有空心菱形的实线表示聚合关系,因此可以进行联想记忆,将聚合关系想象为在空心菱形的器皿中装有其他物品。

  •  关联

  可以在类名前面加上黑三角表示类之间的关联关系

UML类图

  •  可见性

UML类图

 

该图标识出了方法和字段的可见性。在UML中可以通过在方法名和字段名前面加上记号来表示可见性。
“+”表示pub1ic方法和字段,可以从类外部访问这些方法和字段。
“-”表示private方法和字段,无法从类外部访问这些方法和字段。
“#”表示protect方法和字段,能够访问这些方法和字段的只能是该类自身、该类的子类以及同一包中的类。
“~”表示只有同一包中的类才能访问的方法和字段。

 

原文链接:https://www.cnblogs.com/little-bean-sprout/p/17337805.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:UML类图 - Python技术站

(0)
上一篇 2023年4月22日
下一篇 2023年4月22日

相关文章

  • Java 图表类库详解

    Java 图表类库详解 Java 图表类库可用于在 Java 编程语言环境下创建各种类型的图表,包括线图、柱状图、饼图、散点图等。本文将详细介绍 Java 图表类库的使用方法及示例。 选择合适的图表类库 Java 图表类库有多种选择,包括 JFreeChart、Chart.js、JChart2D、Plotly 等。在选择时需要考虑自己的需求和项目要求,例如支…

    Java 2023年5月26日
    00
  • Springboot使用Logback实现日志配置与异常记录

    Spring Boot使用Logback实现日志配置与异常记录 介绍 Spring Boot是一款轻量级的应用框架,它提供了很多有用的功能来简化应用开发流程,其中包括了日志记录功能。Logback是一个优秀的日志框架,它可以取代Java标准库的日志框架,并支持通过XML文件配置日志。在这篇教程中,我们将看到如何在Spring Boot应用中使用Logback…

    Java 2023年5月25日
    00
  • Java常用加密算法实例总结

    Java常用加密算法实例总结 在Java开发过程中,常常需要对数据进行加密和解密处理。为了实现这个目的,Java引入了多种加密算法,本文将对Java常用的加密算法进行总结,并给出两个示例说明。 对称加密算法 对称加密算法指的是加密和解密使用相同密钥的算法。它的特点是加密和解密速度快,但密钥容易泄露。Java支持的对称加密算法有DES、3DES和AES。 DE…

    Java 2023年5月19日
    00
  • SpringBoot异步处理的四种实现方式

    欢迎来到本站,本文将详细介绍Spring Boot异步处理的四种实现方式以及示例代码。 1. 异步处理的概念 异步处理是指将某个任务提交给其他线程去处理,主线程不需要等待任务执行完成就可以继续处理其他任务,从而提高系统的处理效率。Spring Boot支持多种异步处理的方式,可以根据不同的场景选择合适的方式来实现异步处理。 2. Spring Boot异步处…

    Java 2023年5月15日
    00
  • Java实现从数据库导出大量数据记录并保存到文件的方法

    Java实现从数据库导出大量数据记录并保存到文件的方法,大概分为以下几步: 首先,需要连接数据库,并且执行查询操作获取数据结果集。 // 加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); // 创建数据库连接 Connection con = DriverManager.getConnecti…

    Java 2023年5月19日
    00
  • javaSE中异常如何处理举例详解

    JavaSE中的异常处理是一项重要的技能,它可以使我们更好地处理程序出现的错误,并及时解决问题,避免程序崩溃或者异常退出,给用户带来不必要的麻烦。下面我们来详细讲解JavaSE中异常处理的攻略,并通过两个具体的示例来说明。 异常的概念 在Java中,异常是一种事件,它会在程序执行期间导致出现未经处理的错误或异常情况。Java提供了一套API来处理运行时异常和…

    Java 2023年5月26日
    00
  • Java匿名对象与匿名内部类

    Java匿名对象与匿名内部类攻略 在Java中,匿名对象和匿名内部类都是比较常见的语法特性。这些特性可以帮助我们更加方便地编写Java程序,提高代码的可重用性和可维护性。在本文中,我们将详细讨论Java匿名对象和匿名内部类,并给出一些示例说明,帮助大家更好地理解这些概念。 Java匿名对象 在Java中,我们可以使用对象的匿名形式来创建对象。所谓匿名对象,就…

    Java 2023年5月26日
    00
  • JavaWeb 实现验证码功能(demo)

    我来给你详细讲解“JavaWeb 实现验证码功能(demo)”的完整攻略。 什么是验证码 验证码是指在许多需要用户注册、登录或提交信息的网站,为防止机器人恶意注册、登录或提交信息而设置的一种图形验证码,需要用户正确填写之后才能通过相关验证。 如何实现JavaWeb验证码 实现JavaWeb验证码的步骤如下: 1.后端生成验证码图片 在后端使用Java的图片处…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部