依赖关系(Dependence):假设A类的变化引起了B类的变化,则说名B类依赖于A类。
- publicclass Driver
- {
- publicvoid drive(Car car)
- {
- car.move();
- }
- ……
- }
- publicclass Car
- {
- publicvoid move()
- {
- ......
- }
- ……
- }
public class Driver { public void drive(Car car) { car.move(); } …… } public class Car { public void move() { ...... } …… }
依赖关系有如下三种情况:
1、A类是B类中的(某中方法的)局部变量;
2、A类是B类方法当中的一个参数;
3、A类向B类发送消息,从而影响B类发生变化;
泛化关系(Generalization):A是B和C的父类,B,C具有公共类(父类)A,说明A是B,C的一般化(概括,也称泛化)
- publicclass Person
- {
- protected String name;
- protectedint age;
- publicvoid move()
- {
- ……
- }
- publicvoid say()
- {
- ……
- }
- }
- publicclass Student extends Person
- {
- private String studentNo;
- publicvoid study()
- {
- ……
- }
- }
public class Person { protected String name; protected int age; public void move() { …… } public void say() { …… } } public class Student extends Person { private String studentNo; public void study() { …… } }
在UML当中,对泛化关系有三个要求:
1、子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;
2、子类中除了与父类一致的信息以外,还包括额外的信息;
3、可以使用父类的实例的地方,也可以使用子类的实例;
关联关系(Association):类之间的联系,如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单,再如篮球队员与球队之间的关联(下图所示)。
- publicclass Customer
- {
- private Product[] products;
- ……
- }
- publicclass Product
- {
- private Customer customer;
- ……
- }
public class Customer { private Product[] products; …… } public class Product { private Customer customer; …… }
- publicclass Customer
- {
- private Address address;
- ……
- }
- publicclass Address
- {
- ……
- }
public class Customer { private Address address; …… } public class Address { …… }
- publicclass Node
- {
- private Node subNode;
- ……
- }
public class Node { private Node subNode; …… }
表示方式 |
多重性说明 |
1..1 |
表示另一个类的一个对象只与一个该类对象有关系 |
0..* |
表示另一个类的一个对象与零个或多个该类对象有关系 |
1..* |
表示另一个类的一个对象与一个或多个该类对象有关系 |
0..1 |
表示另一个类的一个对象没有或只与一个该类对象有关系 |
m..n |
表示另一个类的一个对象与最少m、最多n个该类对象有关系 (m<=n) |
- publicclass Form
- {
- private Button buttons[];
- ……
- }
- publicclass Button
- {
- …
- }
public class Form { private Button buttons[]; …… } public class Button { … }
聚合关系(Aggregation):表示的是整体和部分的关系,整体与部分可以分开.
- publicclass Car
- {
- private Engine engine;
- public Car(Engine engine)
- {
- this.engine = engine;
- }
- publicvoid setEngine(Engine engine)
- {
- this.engine = engine;
- }
- ……
- }
- publicclass Engine
- {
- ……
- }
public class Car { private Engine engine; public Car(Engine engine) { this.engine = engine; } public void setEngine(Engine engine) { this.engine = engine; } …… } public class Engine { …… }
如:电话机包括一个话筒
电脑包括键盘、显示器,一台电脑可以和多个键盘、多个显示器搭配,确定键盘和显示器是可以和主机分开的,主机可以选择其他的键盘、显示器组成电脑;
组合关系(Composition):也是整体与部分的关系,但是整体与部分不可以分开.
- publicclass Head
- {
- private Mouth mouth;
- public Head()
- {
- mouth = new Mouth();
- }
- ……
- }
- publicclass Mouth
- {
- ……
- }
public class Head { private Mouth mouth; public Head() { mouth = new Mouth(); } …… } public class Mouth { …… }
如:公司和部门,部门是部分,公司是整体,公司A的财务部不可能和公司B的财务部对换,就是说,公司A不能和自己的财务部分开;人与人的心脏.
实现关系(Implementation):是用来规定接口和实线接口的类或者构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
- publicinterface Vehicle
- {
- publicvoid move();
- }
- publicclass Ship implements Vehicle
- {
- publicvoid move()
- {
- ……
- }
- }
- publicclass Car implements Vehicle
- {
- publicvoid move()
- {
- ……
- }
- }
public interface Vehicle { public void move(); } public class Ship implements Vehicle { public void move() { …… } } public class Car implements Vehicle { public void move() { …… } }
相关推荐
UML 中依赖泛化关联实现聚合组合的 C# 实现 ...UML 中依赖泛化关联实现聚合组合的 C# 实现是我们软件设计中非常重要的一部分,我们需要充分了解 UML 中类与类之间的关系,并使用合适的编程语言和工具来实现它们。
### UML中依赖、泛化、关联、聚合与组合的Java实现详解 #### UML基础知识概览 统一建模语言(UML)作为一种图形化的标准化建模语言,为软件开发提供了强大的可视化工具,帮助开发者理解、设计和记录软件系统。UML...
本文将详细探讨UML中的一些关键概念,包括依赖、泛化、关联、聚合、组合以及实现,并结合C#语言给出具体实现示例。 1. 泛化(Generalization): 泛化关系在UML中代表了继承,它表示一个类(子类)继承自另一个类...
UML关系(泛化,实现,依赖,关联(聚合,组合))
在 UML 中,还有泛化关系、关联关系、聚合关系、组合关系等多种关系,这些关系都是类与类、或者类与接口之间的关系,可以用来描述类与类、或者类与接口之间的继承、实现、依赖、关联、聚合、组合等关系。 泛化关系...
本文将对UML类图关系中的泛化、继承、实现、依赖、关联、聚合、组合七种关系进行详细介绍。 泛化关系 泛化关系是指一个类继承另外一个类的功能,并可以增加它自己的新功能的能力。这种关系是类与类或者接口与接口...
### UML学习之依赖、关联、聚合、组合与继承 #### 一、泛化(Generalization) **概念:** 泛化表示的是类与类之间的继承关系、接口与接口之间的继承关系,或者是类对接口的实现关系。在UML中,泛化关系通常用一个带...
本篇文章将深入探讨UML类图中的五种主要关系:关联、组合、聚合、依赖和泛化,以及它们在实际编程中的应用。 **关联** 是类之间的一种结构关系,表示类之间的连接或相互作用。它通常用一条实线表示,可以是单向或...
UML 类图关系大全中有多种关系,包括泛化、关联、依赖、聚合、组合等。 1. 关联关系 关联关系是类图中最基本的关系类型。它描述了类之间的相互关系,可以是单向的,也可以是双向的。双向关联关系表示两个类之间的...
UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc
在UML用例图中,还有其他几种关系,包括实现关系、依赖关系、关联关系、聚合关系和组合关系。每种关系都有其特点和应用场景,了解这些关系可以帮助我们更好地设计和开发系统。 在类图中,实现关系表示接口和实现的...
UML中的六大关系——依赖、泛化(类属)、关联、实现、聚合和组合,构成了理解软件系统结构的基础。 ### 依赖(Dependency) 依赖关系是最弱的一种关系,表示一个类(或组件、用例等)使用了另一个类的接口,这种...
1. 类图:UML 中的类图用于表示类之间的关系,包括继承关系、泛化关系、组合关系、聚合关系、关联关系等。类图可以用来描述类的结构和行为。 2. 用例图:UML 中的用例图用于描述系统的功能需求,展示系统的Actor、...
本文将详细探讨四种主要的UML类关系——依赖、泛化、关联和实现,并通过Java代码示例来阐述这些关系的实现。 1. **依赖(Dependency)**:依赖关系表示一个类(A)的正常工作需要另一个类(B)的存在。在代码中,这...
本文将深入探讨UML类图中的几种关键关系:关联、组合、聚合、依赖,这些关系构成了类之间互动的基础框架。 #### 关联关系(Association) 关联关系是类与类之间的最基本连接,它描述了类之间的静态结构关系。关联...
在 UML 中,五种关系是指依赖、关联、泛化、聚合和组合五种基本关系。下面对这五种关系进行详细解析。 一、依赖关系 依赖关系用虚线加箭头表示,表示一个类依赖于另一个类。例如,Animal 类依赖于 Water 类,表示 ...
在 UML 图中,类与类之间存在四种关系:泛化、关联、依赖和聚合。 一、泛化(Generalization) 泛化关系表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向...