UML类图详解和示例】的更多相关文章

ps:博客园markdown不能自动生成列表,更好的阅读体验可访问我的个人博客http://www.isspark.com/archives/UMLDescription UML类图概述 什么是UML类图 要认识UML类图,要从UML是什么开始.UML(Unified Modeling Language)即统一建模语言,是用于系统可视化建模语言.它是国际统一软件建模标准,融合了OMT.OOSE.Booch方法中的建模语言. UML是一种可视化.可用于详细描述.文档化的语言.UML就像数学中的数字…
对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多”的例子 Account.h #include <cstdlib> #include <vector> #include "Bid.h" using namespace std; class Account { public: void setBid(Bid*); i…
首先先来明确一个概念,即多重性.什么是多重性呢?多重性是指两个对象之间的链接数目,表示法是“下限...上限”,最小数据为零(0),最大数目为没有设限(*),如果仅标示一个数目级上下限相同. 实际在UML中是可以隐藏上图中申购交易的细节 导航性(navigation):关联关系的细节信息通常放置于两关联端,像是关联端标示箭头,代表该关联端具有可导航性. 下面我们来看一个“多对一”的例子 Fund.h class Fund { public: void setPrice(float); float…
下面是类图的实例: (注:飞翔接口那里应为空心三角形) UML中类图实例 接口:空心圆+直线(唐老鸭类实现了‘讲人话’):依赖:虚线+箭头(动物和空气的关系):关联:实线+箭头(企鹅需要知道气候才迁移):聚合:空心四边形+实线+箭头(雁群和大雁的关系):合成/组合:实心四边形+实线+箭头(鸟和翅膀的关系):泛化/继承:空心三角形+实线(动物和鸟的继承关系):实现:空心三角形+虚线(实现大雁飞翔的接口): UML类图 解释UML类图: 1.      首先看“动物”矩形框,它代表一个类.该类图分为…
转载来源:http://blog.csdn.net/shift_wwx/article/details/79205187 可以参考:http://www.uml.org.cn/oobject/201211231.asp 一.前言 在软件开发过程中会经常整理文档,不是所有的信息都可以通过文字来表达,而换成图之后会更加的直观.有效,其中频繁使用的就是UML图.结合自己实践总结一下,希望对大家都能有所帮助. 本文中的UML图都是用visio 绘制,source code展示是Java 语言. 二.UM…
泛化其实就是继承关系,还是比较简单的,那么我们就把之前有些问题的博客UML类图重新来实现一次. 依旧是这个图 下面我们来看一个例子 Account.h #include <cstdlib> #include <vector> #include "Bid.h" using namespace std; class Account { public: void setBid(Bid*); int calcAsset(); private: vector<Bid…
组合关系和聚合关系有一个最大的不同,组合关系中的整体直接掌握部件的生灭,聚合关系中的整体并不具有生灭部件的权力.一旦组合中的整体不存在时,其组合部件也不能单独存在,必须同时消灭.另外,外界也不能直接与部件沟通,必须通过整体代为传达消息.那么在C++中实现组合关系时,不能由第三者产生部件后才将部件指标传给整体,而是应该由整体直接负责部件的生灭. 有了定期定额申购之后,每个月的约定日到达就会自动产生一笔定额交易,也就是单期交易.那么定期定额申购与单期交易非常适合使用组合关系,一旦某笔定期定额申购被删…
在关联关系中,很多情况下我们的多重性并不是多对一或者一对多的,而是多对多的. 不过因为我们要考虑里面的导航性,如果直接搞的话就是需要去维护两群对象之间多对多的互指链接,这就十分繁杂且易错.那么我们怎么办呢?可以将多对多的多重性尝试拆解为两组一对多的设计. 我们可以改为上图的这种拆解方法.就是说在账户与基金之间多搞一个申购交易,这样就可以化解多对多的复杂度.一个账户底下可以记录多笔申购交易,而每一个申购交易将指定某一档基金.虽然可以重复申购同一档基金,不过每一个申购交易只能设定一档基金. 一个账户…
结合UML关系,以看台和基金来介绍聚合关系 aggregation,是一种特殊的关联关系,既有关联关系的特质,还独有“整体 —— 部分(whole —— part)”的特质. 也就是说,用之前的关联关系如下: 但是无法表达出基金看台和基金之间的“整体 —— 部分(whole —— part)”的特质,所以就考虑使用如下聚合关系: 其实聚合关系和关联关系就差在这个“整体 —— 部分(whole —— part)”的特质上面,其他都一样.在C++的实现中,聚合关系和关联关系的实现方法相同,两者没有区…
类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name;//名字 public int age;//年龄 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return…