使用IDEA的Digram功能可以快速构建UML,理解各种类之间的关系
1、泛化(继承)
实线带三角箭头,箭头由子类指向父类
public class A extends B{ }
2、实现
虚线带三角箭头,箭头由实现类指向接口
3、依赖
是一种使用的关系,即一个类的实现需要另一个类的协助 (想一想刚学java的依赖倒置)
A类中的方法需要传入B类,表明A依赖B
虚线箭头,由使用依赖类指向被依赖类
public class A { public void getB(B b){ } }
4、 关联关系
关联关系体现的是两个类之间的一种强依赖关系,在代码层面表现为类A中拥有这样一个属性,这个属性的类型是类B。
在课本中我们一般使用实线箭头表示,从A指向B,A中拥有B类型的属性,在IDEA中的关系我们往下和聚合组合一块看
5、聚合关系
聚合关系是关联关系的一种特列,体现的是整体与部分是单独的,可分离,整体与个体可以具有各自的生命周期,比如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等
在课本中使用实现+空心菱形表示,菱形侧表示聚合的类,箭头侧表示被聚合类
下面看一下在IDEA中如何表示:
public class A{ private B b; }
如下图所示,AB是聚合关系,A中的某个属性类型是B
public class A{ private B b; public B getB(){ return b; } }
如下图,增加了getB方法,会增加了一条A到B虚线箭头(在uml这个箭头应该表示关联关系),结合聚合的情况就是:AB是聚合关系,A的某个属性类型是B,同时A中的某个方法使用B。
6、组合关系
组合也是关联关系的一种特例,它体现的是一种比聚合更强的关系,聚合的类可以独立存在,但是组合的类一旦组合类不存在,被组合的类无法单独使用,部分与整体的生命周期一致,比如手机与手机电池的关系,在课本中组合关系表示如下:使用实心箭头和实心菱形表示
在idea中用虚线带《created》
表示组合,箭头的一方表示被组合的类。
public class A{ public B b = new B(); }
如下图所示,AB是聚合关系,A中有B类型的属性,同时还有一条虚线箭头通过<<create>>关联起来,说明A中会创建B的类,在idea的diagram这个虚线箭头在这里应该表示关联关系
public class A{ private B b = new B(); public B getB(){ return b; } }
如下图所示:A中拥有B类型的属性,因为有一个<<create>>表明A中会创建一个B的类,同时A中还有这样一个方法,该方法中使用了B类(这里的使用包括该方法中的返回值或者参数使用了类B才有有这条虚线关系,如果该方法参数和返回类型均无类B,则该虚线不会出现),所以会出现A到B的虚线关系
(这里的使用包括该方法中的返回值或者参数使用了类B才有有这条虚线关系,如果该方法参数和返回类型均无类B,则该虚线不会出现)
public class A { private B b = new B(); public String getB() { return b.getClass().getName(); } }
今天的文章
IDEA Digram中UML各种关系分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/92275.html