UML类图

       在看设计模式的过程中,我看到了很多设计模式都是采用UML图来表示,用UML图画出的图很好看,能把整个设计模型完整的展示在我们面前。UML图的设计有什么特点呢?我看到大话设计模式这本书有相关介绍,总结了一下,相信大家看了这些基础知识,自己也能设计出自己程序的UML图,下面所有图均由Visio实现。

      

1、类图的实现

       

      我们直接上图吧。首先看到‘动物’矩形框,它就代表一个类(class)。类图分为三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或者行为。注意,前面的符号,'+'表示public,'-'表示private,‘#’表示proctected。

2、接口图的实现


 C++ Code 
1
2
3
4
iterface IFly
{
     void Fly();
}

  接下来看看接口图的表示,与类图的区别主要是顶端有<<interface>>显示。第一行的接口名称,第二行是接口方法。

3、类与类,类与接口之间的关系。

    首先是继承关系,继承关系用空心三角形+实线表示。具体如下图所示。

    

    然后是类与接口的关系。我举的几种鸟中,大雁是最能飞的,我让它实现了飞翔接口。实现接口用空心三角形+虚线表示。具体如下图所示:(在Visio中貌似是直线+小圆圈)

      

 C++ Code 
1
2
3
4
5
6
7
8
9
class Bird: Animal  //继承动物类
{

}

class WideGoose: IFly  //实现飞翔接口
{

}

     我们再来看看关联关系,例如企鹅和气候两个类,企鹅是很特别的鸟,会游泳,不会飞。更重要的是,他与气候有很大的关联,总之,企鹅需要知道天气的变化,需要了解气候规律。当一个类知道另一个类时,可以用关联。关联用实线箭头表示。如下图所示(在Visio中是两个星号和直线)



我们再来看看合成,合成也成为组合是一种强的‘拥有’关系,体现了严格的部分和整体关系,部分和整体的生命周期是一样了。在这里鸟和其翅膀就是合成广西,因为它们是部分和整体关系,并且翅膀和鸟的生命周期是相同的。合成关系在Visio的表示是菱形+实现表示。另外连接两端有数字,是基数,表明这一端的类可以有几个实例,很显然,一个鸟应该有两个翅膀。



      动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖氧气和谁。他们之间是依赖关系,用虚线箭头来表示。



 C++ Code 
1
2
3
4
5
6
7
abstract  class Animal
{
     public Metabolism(Oxygen oxygen, Water water)
    {

    }
}

关于UML图操作Visio作图如下链接。

http://www.qdgw.com/zhuantiweb/jpkc/2009/rjkf/xmwd/Visio_UmlModel.htm




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值