面试/工作必须要会的UML类图图示详解

Posted fanghuaiming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试/工作必须要会的UML类图图示详解相关的知识,希望对你有一定的参考价值。

很多开始研究二十三种设计模式的开发者,有时候连UML类图都没有搞清楚,接下来完整简单介绍下UML设计图解及详细解释


1、UML类图图示样例

2、详解

针对该图进行详解


2.1、符号


面试/工作必须要会的UML类图图示详解


'+' 表示public,'-' 表示private, '#' 表示protected


2.2、实现关系


实现关系用空心三角形和虚线表示

面试/工作必须要会的UML类图图示详解

面试/工作必须要会的UML类图图示详解

interface IFly{ void Fly();}
interface ILanguage{  void Speak();}


2.3、继承关系


继承关系用空心三角形+实线来表示

面试/工作必须要会的UML类图图示详解


2.4、关联关系


关联关系用实线箭头表示

实际上就是另一个对象作为本对象的全局变量

面试/工作必须要会的UML类图图示详解


2.5、聚合关系


聚合关系使用空心棱形+实线箭头来表示


  实际上就是另一个对象作为本对象的全局数组或其他容器中的一部分,所以称为聚合关系;官方解释:“聚合(Aggregation)表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分”;


  对比图解就是大雁与雁群这两个类,大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多个大雁

面试/工作必须要会的UML类图图示详解

class WideGooseAggregate{  private WideGoose[] arrayWideGoose;}


2.6、合成 / 组合关系


合成关系使用实心棱形+实线箭头来表示


实际上就是另一个对象作为本对象的全局属性(初始化过的)


官方解释:“合成(Composition),也可表示为组合关系,是一种强的‘拥有关系,体现了严格的部分与整体的关系’”


class Bird{ private Wing wing public Bird() { wing = new Wing(); }}


2.7、依赖关系


依赖关系使用虚线箭头来表示


实际上就是当前类必须依赖其他对象才能完成类加载机制(加载、验证、准备、解析、初始化、使用、卸载);是一种强的互相关系



总结:了解UML类图之后,不管是面试还是学习设计模式,或者看源代码都是一种事半功倍的方式,在学习或者工作中,自己逐渐使用UML加流程图和时序图自我总结很方便,也方便日后查看回顾,在会议中也更好的展示了自己的专业性和会议的不必要的解释,这就是为什么面试的时候有时候会有人问你会不会UML类图,考验你的学习方式和沟通.


以上是关于面试/工作必须要会的UML类图图示详解的主要内容,如果未能解决你的问题,请参考以下文章

产品经理必会的UML建模方法论

产品经理必会的UML建模方法论

UML类图详解

UML类图详解

设计模式存在哪些关联关系,六种关系傻傻分不清--- UML图示详解

设计模式存在哪些关联关系,六种关系傻傻分不清--- UML图示详解