设计模式-UML关系基础

UML关系基础

类之间的关系

泛化

类在继承中表现为泛化和实现。

继承关系为is-a的关系,两个对象之间用is-a表示为继承关系。

eg,自行车是车,猫是动物。

泛化关系用空心箭头表示

如下图。

A继承自B

用空心箭头表示A继承自B

泛化关系表示为继承抽象类。

抽象类可以继承一个具体的类的。

抽象类可以被实体类继承

抽象类可以被其他抽象类继承

实现关系

实现关系用空心箭头表示。

即指向C++中的抽象类(通过纯虚函数实现),java中的接口,表示实现关系。

即,无法直接定义对象的都被成为抽象类。

即,在上方中A继承自抽象类B

聚合关系

用带空心的菱形箭头的直线表示

A聚合到B上,B由A组成。

聚合关系表示实体对象之间的关系,表示整体由部分构成的语义。

一个部门由多个员工组成。为聚合关系。

与组合关系的区别,不是强依赖关系。即使整体不存在,部分依旧存在。

部门撤销,人员不会消失,依旧存在。

组合关系

组合关系用带实心的菱形箭头表示。

A组成B,B由A组成。

组合关系强调强依赖的聚合关系。

整体不存在,则部分也将不存在。

公司不存在,那么部门也将不存在。

关联关系

关联关系用一条直线表示,描述不同类的对象之间的结构关系。

一种静态关系。

通常与运行状态无关。

用于定义对象之间,天然的,静态的结构。

乘车人和车票属于关联关系,学生和学校属于关联关系。

关联关系默认不强调方向。如果强调方向,则A知道B,但是B不知道A

用成员变量来实现

依赖关系

用带箭头的虚线表示两者之间的依赖关系。

A依赖B,描述一个对象在运行期间会用到另外一个对象的关系。

依赖关系体现在类的构造方法,以及类的方法的传入参数。箭头指向为调用关系。

依赖关系能让对象知道,还能使用对方的方法和属性。

时序图

展示对象之间的交互细节,使用时序图。

时序图有对象,生命线,控制焦点,消息。

www.iming.info

原文地址:https://www.cnblogs.com/melovemingming/p/9938255.html

时间: 2024-10-12 19:34:15

设计模式-UML关系基础的相关文章

设计模式--UML关系与代码对照

在学习UML的时候,重点掌握UML的九种图和六种关系,以及他们衍生出来的作品.在机房收费系统完成后,通过UML的理论知识的学习之后,实践了一把.用UML对系统进行建模之后,我们需要把UML图转换成具体的代码,用代码去实现我们的模型.每种关系在代码中的表示方法是怎样的,同样我们反过来,看了代码之后,我们能够对应着找到类与类之间的关系. 继承:指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力. 代码 class Bird : Animal {

设计模式奠基石——UML关系转化为代码

1.继承关系(泛化关系) [说明]:继承关系是子类(派生类)继承父类(基类),或者子接口继承父接口的关系.即子类对象"is a" 父类对象,比方鸟是动物. [UML图]: 图解:Animal为父类,Bird类.Fish类.Dog类分别继承了Animal类,它们不仅继承了Animal的公用方法Breath(),同一时候也依据自己的实际须要拓展了相关方法(Fly()方法.Swim()方法.Run()方法). [相应代码]: //Animal类(父类): class Animal { pub

设计模式之类关系

设计模式从第一次读程杰的大话设计模式和headfirst等相关书籍,然后开始关注相应模式的代码差不多有两年的时间了,从简单的理解到根据某些开发的需要去选择某种自己理解的模式,发下这是一个需要时间积累的过程和对模式理解的过程,对于模式的理解如果是学习面向对象的语言,我的建议还是先整理下类关系,希望下面的总结对园友们有所帮助,当然这些都可以从UML资料里去更加深入的研究. UML里规定了类之间的关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己

组合,聚合,关联,依赖,实现,泛化 ---UML关系

关于设计模式,有兴趣的朋友一起探讨下.我的bitbucket的地址 https://bitbucket.org/hinson0/pattern 组合,聚合,关联,依赖,实现,泛化 ---UML关系

UML的基础元件之架构元件(三)

 Structural Things Anactive class is a class whose objects own one or more processes or threads and therefore can initiate control activity. An active class is just like a class except that its objects represent elements whose behavior is concurren

UML的基础元件之架构元件(四)

 Structural Things An artifact is a physical and replaceable part of a system that contains physical information ("bits"). In a system, you'll encounter different kinds of deployment artifacts, such as source code files, executables, and scrip

UML的基础元件之行为元件

 Behavioral thingsare the dynamic parts of UML models. These are the verbs of a model, representing behavior over time and space. In all, there are three primary kinds of behavioral things. 行为元件是UML模型的动态部分.它们是模型的动词,代表在时间和空间的行为.主要有三类行为元件 First, anin

UML关系

UML关系详解 1.关联关系(association) 连接模型元素及链接实例,用一条实线来表示 2.依赖关系(dependency) 表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示 3.扩展(extend) 指用例功能的延伸,相当于附加一个功能 4.包含(include) 把一个较复杂的功能分解成较小的功能 5.实现(realize) 表示类与接口的关系,用一条虚线加空心箭头来表示 6.精华(refine) 7.泛化(generalize) 表示一般与特殊的关系,用一条实线加空

设计模式之前提基础

设计模式之前提基础 学习设计模式我们要先了解它的设计原则,下面是我找的一张图 具体概念就不给出了,自行百度吧. 学习过一阵设计模式之后,会对这些设计原则有感触的,也就更能理解设计模式的目的了. 学会看图 在给一张图,让你学会怎么看图,连图都看不懂怎么能行呢 设计模式分类 再来一张图了解一下设计模式分为哪几类,都有哪些 原文地址:https://www.cnblogs.com/zkhbalance/p/9125965.html