UML:Unified modeling Language 统一建模语言

UML类图:用来描述系统所包含的类以及类之间的关系。

画图工具:https://www.processon.com

类之间的6种关系及表示方法:

6种关系都可称为依赖,而根据关系的类别又可细分5种。

代码与类图之间的转换方式

class Person
{
private String name;
private String Email;
private Integer age;
public void setName(String name)
{
this.name=name;
}
public void setEmail(String email)
{
this.email=email;
}
public void setAge(String age)
{
this.age=age;
}
}

依赖(dependence)

在A类中用到了B类,则A对B类依赖。(编译时缺少B类无法通过)

泛化(generalization)

泛化==继承。【依赖关系的特例】

实现(Implementation)

实现关系描述类与接口的关系。类实现接口构成实现关系。【依赖关系的特例】

关联(Association)

一个类知道另一个类的属性和方法。【依赖关系的特例】

聚合(Aggregation)

整体与部分的关系,整体可与部分分开。【关联关系特例】

组合(Composition)

整体与部分的关系,整体不可与部分分开。

举个例子,计算机可以没有键盘没有鼠标,但是不能没有CPU,不能没有电源。那么键盘鼠标与计算机就是一个聚合关系,可分离,但电源,CPU是计算机必不可少的组成部分。

class Computer
{
//聚合关系
private Keyboard keyboard;
private Mouse mouse; //组合关系
private Power power = new Power();
private CPU cpu = new CPU();; } class Keyboard
{ }
class Mouse
{ } class Power
{ } class CPU
{ }

最新文章

  1. Spring Boot 框架@Temporal(TemporalType.DATE)
  2. 嵌入式环境下通过 UDP 链接来调试 QT 程序
  3. CSS样式优先级
  4. Debug 介绍
  5. WPF学习笔记4——Layout之2
  6. Sql中的datetime类型的空值和c#中的DateTime的空值的转换方法
  7. MINA学习之体系介绍
  8. 第9课_3_db库安装
  9. QCMediaPlayer mediaplayer NOT present(android)
  10. 第三十节,正则表达式re模块
  11. 带金属光泽的模型shader的实现
  12. Native App自动化测试及Appium框架介绍
  13. css & clearfix & clear-fixed
  14. 文本分类学习 (八)SVM 入门之线性分类器
  15. [No000013F]WPF学习之X名称空间详解
  16. java 大数处理
  17. Java容器---Collection接口中的共有方法
  18. [转]ssm整合1(环境搭建)
  19. TCP异步IO_服务端_测试
  20. git clone 时显示Filename too long的解决办法

热门文章

  1. 从零开始实现放置游戏(十)——实现战斗挂机(1)hessian服务端搭建
  2. mybatis基础配置
  3. kubernetes安装部署-day01
  4. VUE+element tree 实现权限管理
  5. py+selenium IE 用driver.close()却把两个窗口都关了【已解决】
  6. py+selenium+unittest遇到HTMLTestRunner_cn文件报错:ZeroDivisionError: float division by zero【已解决】
  7. CentOS 7.3 安装python3
  8. xss magic_quotes_gpc
  9. 苹果IOS内购二次验证返回state为21002的坑
  10. JVM调优之探索CMS和G1的物理内存归还机制