uml

类与类之间的关系UML模型图

帅比萌擦擦* 提交于 2020-03-12 19:34:09
关联、依赖、聚合、组合、泛化、实现 类之间可能存在以下几种关系:关联(association)、依赖(dependency)、聚合(Aggregation,也有的称聚集)、组合(Composition)、泛化(generalization,也有的称继承)、实现(Realization)。 1、关联 是指两个类之间存在某种特定的对应关系,例如客户和订单,一个订单只能属于某个客户,一个客户可能会有多张订单。根据方向,分为单向和双向。根据对应的数量分为一对一、一对多、多对多等。对应的UML图如下所示: 关联关系用实线+箭头表示。 Customer和Order是双向一对多关联关系,那么在Customer中应该有Order的集合,在Order中应该Customer的属性。 2、依赖 依赖指的是类之间的调用关系。类A访问类B的属性或方法,或者类A负责实例化类B,那么就说类A依赖于类B。和关联关系不同的是,无需在类A中定义类B类型的属性。 例如自行车和打气筒,自行车通过打气筒来充气,那么就需要调用打气筒的充气方法。对应的UML图如下所示:     类A            类B 依赖关系用虚线+箭头表示。上图显示Bicycle和Pump是依赖关系,Bicycle依赖于Pump。 打气筒并不属于某个特定的自行车,一个打气筒可以为多个自行车提供充气的服务

UML类图

走远了吗. 提交于 2020-03-12 19:33:40
1. UML类图是什么 UML是统一建模语言,是一种可视化的面向对象建模语言,是一种用来对真实世界物理进行建模的标准标记,用图形方式表现典型的面向对象系统的整个结构。 如果把软件当作房子,那么类图就是房子的施工图了. 通过类图,就能实际的把系统中的各个类,即对象描述清楚,下一步就是按照这个详细的设计编码了。 2. 工具下载&使用 我用的是Enterprise Architect 12.1(以下简称EA)这个工具画UML类图的,这个工具十分强大,还可以把数据库的表逆向生成UML图. Enterprise Architect下载 2.1 创建新项目 安装成功后我们来创建一个项目小试身手. 这里的东西是模板自动生成的,可以点击看看,学习一下.我这里都删了,然后重新创建. 2.2 创建类图 创建一个类: 详细页设置属性和方法: 设置属性: 设置方法: 一个类就创建好了: 再来个简单的例子 : 我们有一个动物的接口、狗的抽象类,还有一个泰迪的类,它们的关系是泰迪继承狗的抽象类,狗的抽象类实现动物接口,它们都有一个公共的叫声(cry)方法. 用UML类图画一下它们三个的关系. 2.3 EA添加复杂类型参数的方法 点击类图的添加方法和参数,只能选择基本类型,那么如何创建复合类型的返回值呢. 现在我们已经对类图的基本结构、访问修饰符在类图的符号有了一个基本的了解, 接下来做一个进阶一点的学习. 3

C++不常用设计模式梳理

僤鯓⒐⒋嵵緔 提交于 2020-03-12 04:58:22
C++常用设计模式的相关博文到这里就整理的差不多了,我们实际工作中常用的设计模式就是我前面整理的那些。GoF所提到的23种设计模式还有一些我没有整理到,包括:享元模式、建造者模式、外观模式、中介者模式、备忘录模式、迭代器模式、职责链模式、访问者模式、命令模式、解释器模式。这些模式因为各种各样的原因在我们的工作中很少会遇到,所以这篇博文就先对这些剩下的模式做一个简单的介绍。 1,享元模式 定义:运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。 UML图: 我的理解: 第一次看到享元模式的定义我就很蒙圈,首先是它的英文名称叫flyweight,翻译成轻量级我觉得更合适一点。其次是啥叫细粒度?其实不就是一些轻量级(更直接的一点的说法就是对象sizeof()得出来的结果很小)的对象嘛。那么多少这些对象可以称为大量呢?假设我们某个类的对象a使用sizeof()得出来的结果50个字节。那20*1024个a对象的大小差不多就是1M,除了一些网络游戏应用我想不出哪些地方会用到这么多的对象,反正我工作中是遇不到这么多的对象创建。享元模式给出的解决方法其实就是UML图中红色的部分。这个方法非常的经典,很多地方都可以使用这个方法,比如:线程池、内存池等等。因此掌握这个方法非常重要! 其核心思想就是:维护一个对象池

(5)UML

二次信任 提交于 2020-03-11 03:55:57
活动图本质上就是流程图 动作状态: 执行原子的不可中断的动作,用圆形矩形表示 活动状态: 不具有原子性,可以有入口动作和出口动作 动作流: 动作状态之间的转换 分支与合并: 用空心小菱形表示 分叉与汇合 用来表示并发线程,使用加粗的水平线段或垂直线段表示称为同步棒 泳道: 用矩形块表示,将这个活动的actor名放在矩形框的顶部,泳道没有顺序,每个活动只能属于一个泳道 对象流: 来源: CSDN 作者: 人总是要有梦想的QAQ 链接: https://blog.csdn.net/qq_43410618/article/details/104777647

UML类图画法说明

[亡魂溺海] 提交于 2020-03-10 23:43:19
1.注释(comment) 对类图的补充说明,可以附加在任何元素上,通过虚线连接被注释元素。 如下图: 2.类(Class) 在面向对象(OO)编程中,类是对现实世界的一组具有相同特征物体的抽象。在UML类图中,类使用包含类名,属性(field)和方法(method)且带有分割线的矩形来表示。 如下图: 3.接口(Interface) 接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML类图中,接口有两种表示方式:普通接口表示法(飞翔);棒棒糖表示法(讲人话)。接口名称通常以大写字母I(interface)开头。 如下图: 4.类与类之间的关系(relation) (1)依赖(Dependency) 只要在类中用到的对方,他们之间就存在依赖关系。虚线箭头。 (2)关联(Association) 依赖关系的特例。实线箭头。具有导航性,多重性。 (3)继承(Inheritance) 即泛化关系,是依赖关系的特例。空心三角形+实线。 (4)实现(Realization) 依赖关系特例,依赖关系更强。空心三角形+虚线。 (5)聚合(Aggregation) 整体和部分的关系,整体和部分可以分开。是关联关系的特例。具有关联的导航性,多重性。带空心菱形的实线,菱形指向整体来表示。 (6)组合(Composition) 也是整体与部分的关系,但不可分开。实心菱形+实线。

第一次使用processon画图——UML类图

邮差的信 提交于 2020-03-08 09:15:34
下面介绍一下我第一次使用processon画图的经历 1、注册账号:直接搜索processon打开就可以或者使用下面的链接进入https://www.processon.com/进入之后可以注册自己的账号,然后就可以开始画图了。 2、了解如何使用:进入之后会有一些提示,在上课过程中老师也交给我们具体的操作,使用起来就更加方便了。 3、开始画图:基本使用UML类图就可以完成大部分,一般用到的注释是在UML通用那一栏里。 4、一些注解:(1)、若类名为斜体,则此类为抽象类; (2)、接口和类中“+”指public,“-”指private,“#”代表的是protected,例如: +新陈代谢(String 氧气,String 水):生长(生长代指的是返回值) -繁殖() 以上只是一小部分,还有一些注解都在下图里喽,这是按照课本样例完成的第一个UML类图 最后说一下我学到的东西吧,在画的过程中一开始不知道怎么连接注释和两个接口之间的线,后来鼠标右击发现了连线,也可以用L键,问题就迎刃而解了,这也是提醒我平时要多试试,善于观察。对了,一开始也是没有注意到斜体的,在注释的时候才知道要斜体,代表抽象类。 这也是我的第一篇博客,希望自己可以坚持下去,慢慢的提升自己。 来源: CSDN 作者: ☀加油^0^~ 链接: https://blog.csdn.net/qq_43774908/article

类与类关系的UML图与代码表现

冷暖自知 提交于 2020-03-07 11:06:15
本文转自: http://www.iteye.com/topic/37302 类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。 类与类之间存在以下关系: (1)泛化(Generalization) (2)关联(Association) (3)依赖(Dependency) (4)聚合(Aggregation) UML图与应用代码例子: 1.泛化(Generalization) [泛化] 表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。 [具体表现] 父类 父类实例=new 子类 () [UML图](图1.1) 图1.1 Animal类与Tiger类,Dog类的泛化关系 [代码表现] class Animal{} class Tiger extends Animal{} public class Test { public void test() { Animal a= new Tiger(); } } 2.依赖(Dependency) [依赖] 对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。 [具体表现] 依赖关系表现在 局部变量 , 方法的参数 ,以及对

一起学UML建模:UML简介与建模软件安装

醉酒当歌 提交于 2020-03-06 10:02:57
对于非软件工程专业的同学,写代码最痛苦的事之一就是设计和建模问题。除了啃一啃《设计模式》,还有UML可以帮我们。UML是什么?能做什么?选择什么UML工具建模?本文首先介绍UML,然后介绍一个建模器——StarUML的安装和基本使用。 本文内容主要为两个方面: UML介绍 UML工具安装 目录 1.什么是UML 2.UML能做什么 2.1 UML结构图 2.2 UML行为图 2.3 举几个栗子 2.3.1 活动图 Activity Diagram 2.3.2 类图 Class Diogram 2.3.3 顺序图 Sequence diagram 3.安装UML工具 3.1 StarUML介绍 3.1.1 StarUML是什么 3.1.2 StarUML的特点 3.2 下载安装StarUML 3.3 StarUML的帮助文档 4.windows10解除注册提示 4.1 安装 npm 4.2 安装 asar 4.3 解除注册提示 1.什么是 UML UML (Unified Modeling Language)即“统一建模语言” 是一种使用图表集合可视化软件程序的方法,被用于面向对象的设计 。该方法已被对象管理组织(OMG)制定为一个通用的、可视化的建模语言标准,并已扩展到涵盖更广泛的软件工程项目。这种建模语言已经得到了工业界的广泛支持和应用,目前已成为ISO 国际标准。目前为UML2

UML关系图

走远了吗. 提交于 2020-03-06 08:18:43
UML   Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。UML中类与类,已经类与接口,接口与接口的关系有:泛化(generalization),关联(association),依赖(dependency),实现(realization)这几种。主要是关联关系的细化需要注意强弱,由若到强分别是 依赖 < 关联 < 聚合 < 组合。 泛化(generalization)   泛化(generalization)关系时指一个类(子类、子接口)继承另外一个类(称为父类、父接口)的功能,并可以增加它自己新功能的能力,继承是类与类或者接口与接口最常见的关系,在Java中通过关键字extends来表示。 实现(realization)   实现(realization)是指一个class实现interface接口(一个或者多个)

UML 中关系图的解说

岁酱吖の 提交于 2020-03-06 08:18:24
最近在教软件工程项目实践,就又仔细了解了下 UML 中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象。 关系列表: 继承关系 (Generalization) ; 实现关系 (Realization) ; 依赖关系 (Dependency) ; 关联关系 (Association) ; 有方向的关联 (DirectedAssociation) ; 聚合关系 (Aggregation) ; 组合关系 (Composition) ; 继承关系( Generalization ): Class B 继承与 Class A 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系之一;在 Java 中此类关系通过关键字 extends 明确标识,在设计时一般没有争议性; 实现关系( Realization ): Class A 实现了 Interface A 实现指的是一个 class 类实现 interface 接口(可以是多个)的功能;实现是类与接口之间最常见的关系之一;在 Java 中此类关系通过关键字 implements 明确标识,在设计时一般没有争议性; 依赖关系( Dependency ): ClassA 依赖于 ClassB 可以简单的理解