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图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • IDEA最新激活码永久激活教程附激活失败原因汇总

    IDEA最新激活码永久激活教程附激活失败原因汇总

    这篇文章主要介绍了IDEA最新激活码永久激活教程附激活失败原因汇总,需要的朋友可以参考下
    2020-11-11
  • 基于chatgpt开发QQ机器人原理分析

    基于chatgpt开发QQ机器人原理分析

    ChatGPT是当前自然语言处理领域的重要进展之一,可应用于多种场景,如智能客服、聊天机器人、语音助手等。本文通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人,文中原理代码介绍的非常详细,感兴趣的同学可以参考下
    2023-05-05
  • IDEA开启Run Dashboard的配置详解

    IDEA开启Run Dashboard的配置详解

    这篇文章主要介绍了IDEA开启Run Dashboard的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 聊聊Flare应用前后端性能优化问题

    聊聊Flare应用前后端性能优化问题

    这篇文章主要介绍了Flare应用前后端性能优化,制作 flare 的过程,其实也是 flame 性能调优的过程。不过在解决问题之前,我们首先得能定位问题有哪些,带着这些问题一起通过本文学习吧
    2022-02-02
  • git 优雅的撤销中间某次提交方法

    git 优雅的撤销中间某次提交方法

    这篇文章主要介绍了git 优雅的撤销中间某次提交方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • IntelliJ IDEA运行Tomcat报错:Please, configure Web Facet first!解决办法

    IntelliJ IDEA运行Tomcat报错:Please, configure Web Facet fir

    这篇文章主要介绍了IntelliJ IDEA运行Tomcat报错:Please,configure Web Facet first!的解决办法,文中包括问题现象、常见原因、解决方案(包括普通Web目录结构和Maven标准结构的具体配置)、常见问题排查等部分,需要的朋友可以参考下
    2026-05-05
  • C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

    C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

    这篇文章主要介绍了C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面讲解的相关资料,这些语言各有特点,适用于不同的开发需求,C++和Rust在系统级和高性能任务中表现出色,而Python和JavaScript则更适合快速原型和Web开发,需要的朋友可以参考下
    2025-12-12
  • 基于 Dubbo Admin 动态调整服务超时时间的操作步骤

    基于 Dubbo Admin 动态调整服务超时时间的操作步骤

    Dubbo提供动态调整超时时间的服务治理能力,可以在无需重启应用的情况下,动态调整服务超时时间,这篇文章主要介绍了基于 Dubbo Admin 动态调整服务超时时间,需要的朋友可以参考下
    2022-12-12
  • 前端vscode必备插件推荐(开发必备)

    前端vscode必备插件推荐(开发必备)

    VSCode是我们前端开发的一个强大的IDE,因此选择趁手好用的插件能事半功倍,也能能更好地编码以及获得更丝滑的开发体验,这篇文章主要给大家介绍了关于前端vscode必备插件推荐的相关资料,需要的朋友可以参考下
    2023-11-11
  • 浅谈Visual Studio和Visual Studio Code(VSCode)的区别及如何选择

    浅谈Visual Studio和Visual Studio Code(VSCode)的区别及如何选择

    Visual Studio和VSCode两者都是 Microsoft 制造的,它们有着相似的名称,尽管它们的名字相似,但它们的功能却大不相同,本文主要介绍了Visual Studio和Visual Studio Code(VSCode)的区别,感兴趣的可以了解一下
    2024-06-06

最新评论