UML类图的使用

原本呢,是想着给你们分享一下我在学习设计模式的时候的一些方法,而后总结起来,方便你们用和我本身的查漏补缺。 可是呢!因为我分享的文章中可能有不少的像下面的图片同样的UML的类图,因此呢今天我就来给你们简单的讲一讲类图是如何看的,固然我讲的不必定是很是的标准,可是基本仍是能够用的,那么话很少说,咱们来看看下面的这个类图; 编程

17-04-06.jpg

首先咱们来看一看“动物”这个矩形框,它就是表明一个类(class)。类图分为三层,第一层显示类得名称,若是是抽象类,则用斜体表示,第二层是类的特性,一般表示的就是字段和属性,第三层是类的操做,一般是方法或行为。注意前面都是有加号的,固然不必定都是加号,“+”表示的是public ,"-"表示private ,"#"表示protected.;设计模式

17-11-59.jpg

而后咱们再看看左下角有一个飞翔,它就表示的是一个接口图,与类图的区别主要是顶端有《interface》显示,第一行呢就是接口的名称,第二行是接口方法。接口还有另外一种表示法,就是唐老鸭类实现了“讲人话”的接口。;咱们来看一下面这两个图学习

17-17-52.jpg

接下来咱们来看类与类,类与接口之间的关系了,首先咱们现看看动物、鸟、鸭子、和唐老鸭之间的关系符号,这就要回到上面的图中仔细的找找了。 其实呢他们都是集成的关系,继承关系使用空心三角形+实现来表示的。翻译

17-21-06.jpg

下面的图中,鸟类会飞翔的中,大雁是最能飞的,我让他实现了飞翔接口。实现接口用口信三角形+虚线来表示。 设计

17-21-24.jpg

咱们来看一下企鹅和睦候这两个类,企鹅呢是很特别的的鸟,会游不会飞,更重要的是,它和睦候有着很大的关联。咱们就不讨论为何了,总之,企鹅须要“知道”气候的变化,须要“了解”气候的规律。当一个类“知道”另外一个类的时候,能够用关联(association)。关联关系用实线箭头表示。3d

17-26-41.jpg

咱们再来回到大雁身上,大雁和雁群这两个类,大雁是群居动物,每一个大雁都是属于一个雁群,一个雁群能够有不少只大雁,因此他们之间就知足聚合(Aggregation)关系,聚合表示一种若的‘拥有’关系,体现的是A对象能够包含B对象,但B对象不是A对象的一部分。聚合关系用看空心的菱形+实线箭头表示。 cdn

17-29-54.jpg

合成(composition, 也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和总体的关系,部分和总体的生命周期同样。在这里鸟和其翅膀就是合成(组合)关系,由于他们是部分和总体的关系,而且翅膀和鸟的生命周期相同。合成关系用实心的菱形+实线箭头表示。另外,你可能会注意到合成关系的连心两端还有一个数字‘1’和‘2’,这被成为技术。代表这一段的类能够有几个实例。很显然,一个鸟应该有两个翅膀。若是一个类可能有无数个实例,则用‘n’来表示。。关联关系、聚合关系也是能够有技术的。对象

17-39-46.jpg

只要是动物那么他仍是会新陈代谢,繁殖,而动物要想有生命力,就须要氧气、谁以及食物等。也就是说,动物依赖与氧气和谁。他们之间是依赖关系(Dependency),用虚线箭头来表示。blog

17-41-30.jpg

最后:基本上其实也就这些了,要记住,编程是一本技术,更是一门艺术,咱们每次去写代码以前,咱们须要构思一段时间,咱们不能知足于代码可以运行正确就完事,时常考虑如何让代码变得更加简练,更加容易维护,更加容易扩展和服用,只有这样才能够真正的获得提升,并且能写出一段优雅的代码是一件很爽的事情,UML图呢其实很复杂,不过咱们平常来进行简单的设计和构思,以及实现逻辑和流程的时候很是有用,当咱们熟悉运用UML的时候咱们已经开始面向对象了。继承

相关文章
相关标签/搜索