IntelliJ IDEA之UML类图
生成方法
Show Diagrams
选中需要的类,右键单击Diagrams,之后点击Show Diagrams,或者快捷键Ctrl+Alt+Shift+U
生成类图,将类图显示在编辑器窗口中
Show Diagrams PopUp
选中所需要类,右键单击Diagrams,之后点击Show Diagrams PopUp,或者快捷键Ctrl+Alt+U
生成类图,将类图显示在弹出窗口中
工具栏(Toolbar)
泛化(Generalization)
代码(体现在类的继承)
//Person代表人
public class Person {
}
//Man代表男人
public class Man extends Person{
}
类图(实线三角形箭头,指向父类)
实现(Realization)
代码(体现在类的实现)
//Dao接口
public interface Dao {
}
//Dao实现
public class DaoImpl implements Dao {
}
类图(虚线三角形箭头,指向父类)
依赖(Dependency)
代码(体现在局部变量、方法的参数或者对静态方法的调用)
//手机类
public class CellPhone {
//手机可以玩游戏
public void playGames(){
System.out.println("play games");
}
}
//普通人
public class Person {
//买手机
public CellPhone buyCellPhone(){
return new CellPhone();
}
//买个手机玩游戏
public void play(){
CellPhone cellPhone = buyCellPhone();
cellPhone.playGames();
}
}
类图(虚线普通箭头,指向被调用者,其中带有create的虚线是指创建(new)被调用者)
关联(Association)、聚合(Aggregation)、组合(Composition)
区别
三者在代码上的表现相同,只是语意上有所差别。
组合:整体和部分同生共死,部分无法离开整体单独存在
聚合:部分可以离开整体单独存在
关联:代表一种拥有关系
代码(体现在成员变量中)
//父母类
public class Parent {
//可以拥有多个孩子
public List children;
//可以拥有手机
public CellPhone cellPhone;
}
//孩子类
public class Child {
//孩子的父母
public Parent parent;
}
//手机类
public class CellPhone {
}
类图(三种类型在IntelliJ IDEA均以实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数)
一个父母可以有多个孩子(1 *),可以有一部手机(1 1)。每个孩子都有一个父母(1 1)
设计模式中-UML相关链接
intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理
之前写过一篇IntelliJ IDEA 13试用手记,idea还有很多高大上的功能,易用性几乎能与vs.net媲美,反正我自从改用idea后,再也没开过eclipse,今天来看几个高级功能: 一.与J ...
UML类图(下):关联、聚合、组合、依赖
前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...
UML类图(上):类、继承和实现
面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...
UML类图几种关系的总结
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...
UML类图关系全面剖析
UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...
UML类图关系--继承(泛化)、实现、关联、聚合、组合、依赖
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composi ...
UML类图的6大关系
已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
初识UML类图--类之间关系
前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...
随机推荐
Xcode清除缓存等
Xcode出现一些错误的时候,有时候不是代码的问题,需要清理一下Xcode的缓存或者项目的Product等: 1. Product清理 1.1 Product-Clean 1.2 Product- ...
dfs序
dfs序比较重要的性质:一棵子树的所有节点在dfs序里是连续一段,主要就是利用这个性质来解题 题型一:对某个点X权值加上一个数W,查询某个子树X里所有点权值和. 解:列出dfs序,实现修改一个数,查询 ...
电话薄设计--java
package com.hanqi.telbook; import java.util.Scanner; public class Menu { //主菜单 public void mainMenu( ...
UISearchBar cover first cell of UITableView
1.相当重要的是 tableView.tableHeaderView = searchBar; 这一句一定要在 UIViewController viewDidLoad 的时候执行,否则就会出现 se ...
通过WMI配置IP
$wmi = gwmi win32_networkadapterconfiguration -filter "ipenabled = 'true'"$wmi.EnableStati ...
codeforces 518A. Vitaly and Strings
A. Vitaly and Strings time limit per test 1 second memory limit per test 256 megabytes input standar ...
poj1543---完美立方(枚举)
#include #include int main() { int cube[101],n,i,a,b,c,d; for(i=1;i ...
Struts 2.5 Filter mapping specifies an unknown filter name [struts2]
问题一:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start ...
Nginx安装,操作简单
命令列表 先把所有的命令给出来了. yum -y install gcc-c++ yum -y install wget yum install -y pcre pcre-devel yum inst ...
.core 学习文档
https://docs.microsoft.com/zh-cn/aspnet/core/razor-pages/?view=aspnetcore-2.1&tabs=visual-studio