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

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

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

类图分三层:

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

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

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

的 “繁殖”。

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

2. 接口

两种表示法。

(1)

(2)“棒棒糖”表示法

3. 关系

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

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

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

 

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

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

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

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

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

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

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

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

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

鸟的组成部分。

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

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

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

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

时间: 2024-12-24 15:39:13

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

设计模式@第3章:UML 类图

第3章:UML 类图 一.UML 基本介绍 UML--Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果. UML 本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类.接口.实现.泛化.依赖.组合.聚合等. 使用 UML 来建模,常用的工具有 Rational Rose , 也可以使用一些插件来建模 二.UML 图 画 UM

【转载】UML类图知识整理

原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize): 一条带空心箭头的线表示 实现(realize) : 一条带空心箭头的虚线表示 泛化在Java中表现为继承(extends) ,is-a的关系 实现在Android中表现为implements 接口,或者extends抽象类 依赖关系(dependency) 用一条带箭头的虚线表示:箭头的指向为

UML类图组成

本文转载至 http://blog.csdn.net/fengsh998/article/details/8105666 UML类图的相关知识,UML类图(Classdiagram)是最常用的UML图,显示出类.接口以及它们之间的静态结构和关系:它用于描述系统的结构化设计. UML类图 UML类图(Classdiagram)是显示了模型的静态结构,特别是模型中存在的类.类的内部结构以及它们与其他类的关系等.类图不显示暂时性信息. 类图(Classdiagram)由许多(静态)说明性的模型元素(例

用MyEclipse将java文件转换成UML类图

用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客  http://blog.csdn.net/dan15188387481/article/details/50053807 MyEclipse画UML用例图并生成JAVA代码(图文详细步骤) - 蘑菇猎手的专栏 - CSDN博客  http://blog.csdn.net/donggege214/article/details/48791413  

设计模式基础之--UML 类图

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类    2. 实现(R

设计模式之序章-UML类图那点事儿

设计模式之序-UML类图那点事儿 序 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书我还隐约记得,叫GoF的,书名是<Design Patterns: Elements of Reusable Object-Oriented Software>,也即<设计模式>,机械出版社的将其翻译为<设计模式-可复用面向对象软件的基础>.至于为什么叫做GoF,那时候

设计模式之UML类图

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 之前,在工厂方法模式中画的图,不是很严格的符合UML类图,所以今天特地看了一下UML类图,下面内容大部分摘自"大话设计模式". UML的基本图示法 UML类图图示样例 类图: 如上图,矩形框就代表一个类(Class).分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示.第二层是为类的特性,通常就是字段和属性.第三层是类的操作,通常是方法或行为.注意前面的的符号,

设计模式----看大话设计模式笔记(二)

9.原型模式(Prototype): 用原型实例指定创建对象的种类,并通过拷贝这些原型创建行的对象. UML图: 原型模式其实就是从一个对象创建另一个可定制的对象,并且不需要知道任何创建的细节. .NET 中实现ICloneable接口即可. 一般在初始化信息不发生变化的情况下,克隆是最好的办法,隐藏了对象创建的细节,又提高了性能. MemberwiseClone()方法,如果字段是值类型,对该字段进行逐位复制:如果是引用类型,复制引用但是不复制引用的对象,因此原始对象及产生的副本引用同一对象.

设计模式之UML类图的常见关系

设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition). 1.泛化关系 泛化关系是继承或实现的关系,是is a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系. 2.依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的.临时性的.非常弱的,一个类的变化会影