swimmer000 2020-02-17
UML(Unified Modeling Language) 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展。
以上内容来自百度百科。
推荐一个绘图和学习的在线工具ProcessOn
UML类图,属于UML图中的一种,是在面向对象语言用中用来表示一个类的图形,基本的UML类图如下所示:
如上图,就表示一个类,三个格子从上至下分别表示:
它们前边的符号有以下几类:“+”表示public,“-”表示private,“#”表示protected
即最上边的UML类图表示代码如下:
public class Student { private String name; private String sex; private int age; public void study() { System.out.println("study"); } protected void sleep() { System.out.println("sleep"); } public void eat() { System.out.println("eat"); } //get 和set方法和这个类的属性无关 }
public class SeniorSchool extends Student { public void graduate() { System.out.println("毕业"); } public void cllegeEntranceExam() { System.out.println("高考"); } }
public interface Play { void play(); }
public class SeniorSchool extends Student implements Play { public void graduate() { System.out.println("毕业"); } public void cllegeEntranceExam() { System.out.println("高考"); } //实现接口方法 @Override public void play() { System.out.println("高三学生玩"); } }
/** * Student的一个构造方法 * 依赖于Air 和 Water * * @param air * @param water */ public Student(Air air, Water water) { }
所谓关联关系,其实就是这个类有一个属性是其他类,如下图和代码。
public class Dormitory { private String num; }
public class PrimaryStudent extends Student { private Dormitory dormitory; }
public class School { private Student[] students; }
public class Student { private Book book; public Student(Book book) { this.book = book; } }
欢迎关注我的微信公众号“小鱼与Java”,
最后再贴上整个图: