idea自动生成UML图的实现图文教程

 更新时间:2024年01月11日 10:02:24   作者:mmmenxj  
UML是一种很重要的分析源码工具,本文主要介绍了idea自动生成UML图的实现图文教程,具有一定的参考价值,感兴趣的可以了解一下

idea的强大之处在于此,它包含了很多小插件,我们不需要再次下载相关插件,只需要在idea中小小的设置一下就可以了,真的yyds。

下面是设置方法,我用的是idea2020版本

打开设置File -> Settings->Diagrams,如何如下图:

 选择我们UML图需要的部分,我选择的是成员变量、构造器和方法。

下面以一个代码为例,展示一下UML图

import java.util.Scanner;
import java.util.Date;
public class GeometricObject {
    public String color;
    public boolean filled;
    Date date = new Date();
    public GeometricObject(){
        //无参构造
        String color ="white";
        boolean filled = true;
    }

    public GeometricObject(String color,boolean filled){
        this.color = color;
        this.filled = filled;
    }
    public String getColor(){
        return color;
    }
    public void setColor(String color){
        this.color = color;
    }
    public boolean isFilled(){
        return filled;
    }
    public void setFilled(boolean filled){
        this.filled = filled;
    }
    public String toString(){
        return "创建于"+date.toString()+"\n颜色是"+color+"\n填充方式是"+filled;
    }

}

public class Triangle extends GeometricObject{
    private double side1 ,side2,side3;

    public Triangle(){
        double side1 = 1.0;
        double side2 = 1.0;
        double side3 = 1.0;
    }
    public Triangle(double side1,double side2,double side3,String color){
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
        this.color =color;
    }
    public Triangle(double side1,double side2,double side3,String color,boolean filled){
        this.side1 = side1;
        this.side2 = side2;
        this.side3 = side3;
        setColor(color);
        setFilled(filled);
    }
    public double getArea(){
        double s =(side1+side2+side3) /2;
        return Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));
    }
    public double getPerimeter(){
        return side1+side2+side3;
    }
    public String toString(){
        return "三角形三边是:side1="+side1+"side2="+side2+"side3"+side3;
    }

}

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入三角形的三个边长");
        double side1 = scanner.nextDouble();
        double side2 = scanner.nextDouble();
        double side3 = scanner.nextDouble();
        System.out.println("请输入颜色");
        String color = scanner.next();
        System.out.println("请输入是否填充true/false");
        boolean filled = scanner.hasNext();
        Triangle t = new Triangle(side1,side2,side3,color,filled);
        System.out.println("三角形的面积是"+t.getArea());
        System.out.println("三角形的周长是"+t.getPerimeter());
        System.out.println("三角形的颜色是"+t.getColor());
        System.out.println("三角形是否填充"+t.isFilled());
    }
}

按照以下操作就可以生成UML图,或者快捷键Ctrl+Alt+Shift+U

以下是生成结果:

到此这篇关于idea自动生成UML图的实现图文教程的文章就介绍到这了,更多相关idea自动生成UML图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Deepseek使用指南与提问优化策略方式

    Deepseek使用指南与提问优化策略方式

    本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域
    2025-02-02
  • 2019最新系统学习路线零基础如何转行大数据

    2019最新系统学习路线零基础如何转行大数据

    今天小编给你一个大数据工程师具体的学习路线图。非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-06-06
  • 使用Visual Studio进行文件差异比较的问题小结

    使用Visual Studio进行文件差异比较的问题小结

    这篇文章主要介绍了使用Visual Studio进行文件差异比较,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 利用ChatGPT编写一段嵌入式代码

    利用ChatGPT编写一段嵌入式代码

    ChatGPT也热火朝天了有一段时间了,今天闲来没事,也想着玩一玩ChatGPT,看看是不是网上说的那么强大!本文就来用ChatGPT编写一段嵌入式代码,看看效果如何
    2023-02-02
  • vscode安装扩展Volar失败的解决方案

    vscode安装扩展Volar失败的解决方案

    volar扩展的时候,遇到了安装失败的问题,这篇文章主要给大家介绍了关于vscode安装扩展Volar失败的解决方案,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • Idea 2022激活码最新汇总(亲测有效)

    Idea 2022激活码最新汇总(亲测有效)

    JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。今天给大家分享大批IDEA 激活码到期之后的乱象,大家可以参考下
    2020-07-07
  • 高性能高可用高并发架构和系统设计思路大纲

    高性能高可用高并发架构和系统设计思路大纲

    高性能架构和系统设计要求高并发高性能,高性能更多的是先从编码角度、架构使用角度去让我们的单机(单实例)有更好的性能,然后再从整个系统层面来拥有更好的性能;高并发则直接是全局角度来让我们的系统在全链路下都能够抗住更多的并发请求
    2023-08-08
  • 基于Laravel + Vue + Element 实现 人力资源系统(考勤应用 )

    基于Laravel + Vue + Element 实现 人力资源系统(考勤应用 )

    Bee 是人力资源系统中的考勤应用,主要功能用于员工申请假单。接下来通过本文给大家介绍基于Laravel + Vue + Element 考勤应用 之 人力资源系统,需要的朋友可以参考下
    2019-10-10
  • vs2019+cmake实现Linux远程开发的方法步骤

    vs2019+cmake实现Linux远程开发的方法步骤

    这篇文章主要介绍了vs2019+cmake实现Linux远程开发的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • HTTP协议详细介绍

    HTTP协议详细介绍

    HTTP是访问互联网使用的核心通信协议,也是所有web应用程序使用的通信协议。本文详细介绍了HTTP协议,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论