码迷,mamicode.com
首页 > 其他好文 > 详细

《大话设计模式》笔记-基础知识1:UML类图基础知识

时间:2015-03-19 13:25:54      阅读:563      评论:0      收藏:0      [点我收藏+]

标签:uml   《大话设计模式》笔记   

好多计算机技术书籍或者文章中常用到UML类图,本书作者介绍每一种设计模式就是用类图+面向对象语言小程序(用的C#,其基础知识另文介绍)+人物对话解释知识点。本文就是介绍《大话设计模式》中所用到UML类图的基础知识。

技术分享

上图是一个整体的图,特别要注意各种样式的箭头,下文分别用局部小图说明各知识点。

技术分享

    类图分三层:

   (1)      类名称,如果是抽象类就用斜体标识。本例,类名称是“动物”,且其是一个抽象类。

   (2)      类特性,通常是字段和属性。本例,类特性是“有生命”。

   (3)      类操作,通常是方法或行为。本例有两个,一个是带参数的“新陈代谢”,一个是不带参数

          的 “繁殖”。

注意前面的符号:‘+’表示public,‘-’表示private,‘#’表示protect。本例的类属性和类操作均是public的。

2. 接口

   两种表示法。

  (1

技术分享

  (2)“棒棒糖”表示法

技术分享

3. 关系

   类与类之间或者类与接口之间

  (1) 继承关系:空心三角+实线,被三角指向的是父类。

技术分享

技术分享

  (2) 实现关系:用空心三角+虚线表示,被三角指向的是接口。

技术分享 技术分享

  (3)关联关系(association):用实线箭头表示,箭头表是方向,双向则无箭头。

技术分享

       体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系

     比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系

     一般是平等的、关联可以是单向、双向的。本例,企鹅单向关联气候,企鹅需要知道气候。

  (4)聚合关系(aggregation):用空心菱形+实线箭头表示,菱形指向聚合端。

技术分享技术分享

       聚合表示一种弱的“拥有”关系,体现的是A可以拥有BB对象不是A对象的一部分。本例A是雁

    群,B是大雁。它们的生命周期不一样,没有必然联系。

  (5)合成关系(composition也有叫组合关系):用实心菱形+实线箭头表示,菱形指向整体部分。

技术分享

 

      合成表示一种强的“拥有”关系,严格的部分与整体的关系,生命周期是一致的。本例,翅膀是

   鸟的组成部分。

  (6)依赖关系(dependency):用虚线箭头表示,箭头指向被依赖的对象。

技术分享

技术分享

    两个相互独立的对象,对象A的存在必须依赖B。本例,A是动物,B有两个氧气和水。B的生命期结束

  则A必结束,反之则不然。

   也可这样理解:一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A

 

 

 

 

 

 

 

 


《大话设计模式》笔记-基础知识1:UML类图基础知识

标签:uml   《大话设计模式》笔记   

原文地址:http://10017068.blog.51cto.com/10007068/1622150

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!