认识IDEA类图中的各种符号
在对编程语言的学习中,看懂类图是必不可少的,它可以让你在最快速,最便捷的情况下了解整个项目的架构;方便项目的沟通。
在IDEA中,主要有以下几个符号:
下面我会列出他们的意思和他们变形后的意思。在最后面,我会放出一张IDEA中生成的类图并解释,帮助理解这些内容。
:表示类中的普通方法
:表示抽象方法
:表示类中的主函数main()方法
:表示已经实现了getXxx()或setXxx()的方法
:表示内部类
:表示类中的属性
:表示公有的类或方法
:表示私有的类或方法
:表示接口类
:表示抽象类
:表示普通类
:关联,聚合,组合三种都以这种形式表现出来。实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数
:依赖。虚线普通箭头,指向被调用者,其中带有create的虚线是指创建(new)被调用者
:实现。绿色虚线三角形箭头,指向父类。
:泛化。蓝色实线三角形箭头,指向父类
一张完整的类图:
在这张图中,一共有七个类。分别是一个接口类(Brand),一个抽象类(Phone),和五个普通类(XiaoMi, HuaWei, FolderPhone, UpRightPhone, Client)。这张图表示的是java设计模式中的一种(桥接模式)。在接口类(Brand)中有手机的三个功能,XiaoMi和HuaWei这两个类是它的实现。抽象类(Phone)也有两个泛化(FolderPhone和UpRightPhone)。并且将Brand类聚合到了Phone类中。
这样的设计将手机品牌和他们的特征(折叠手机,和上滑手机)分开,可以直接在Client中任意组合,当有新特性或新手机时,只需要添加响应的类就可以了。如果不这样设计,有新特性或新手机时,就会增加很多具体的类(比如:三星折叠手机,三星上滑手机),可能会发生类爆炸之类的麻烦事