UML类图中的依赖关系

      类间的关系:依赖Dependency,泛化Generalization,对象间的结构关系关联关(Association),表示类中规格说明和实现之间关系的实现关系(Realization

      

使用依赖Usage

      使用:Use,声明使用一个模型元素需要用到已存在的另一个模型元素,这样才能正确实现使用者的功能(包括了调用、实例化、参数和发送)

      调用call:声明一个类调用其他类的操作的方法。

      参数parameter:声明一个操作和它的参数之间的关系

      发送send:声明信号发送者和信号接收者之间的关系

      实例化instantiate:声明用一个类的方法创建了另一个类的实例

抽象依赖Abstraction

      跟踪trace:声明不同模型中的元素之间存在一些连接但不如映射精确

      精化refine:声明具有两个不同语义层次上的元素之间的映射

      派生derive:声明一个实例可以从另一个实例导出

授权依赖Permission

      访问access:允许一个包访问另一个包的内容

      导入import:允许一个包访问另一个包的内容并为被访问包的组成部分增加别名

      友元friend:允许一个元素访问另一个元素,不管被访问的元素是否具有可见性

绑定依赖Binding

      绑定bind:为模板参数指定值,以生成一个新的模型元素。

转载于:https://www.cnblogs.com/congqian/archive/2009/06/13/1502592.html

### UML 依赖关系的概念及表示方法 #### 什么是依赖关系? 在面向对象设计中,依赖关系是一种较弱的关系,通常用于描述两个之间的交互行为。当一个的变化会影响另一个的行为时,则认为这两个之间存在依赖关系[^1]。具体来说,如果某个的方法参数、返回值或者局部变量涉及到了另一个,则可以判断它们之间具有依赖关系。 #### 如何表示依赖关系? 在 UML 中,依赖关系通过带箭头的虚线来表示。箭头的方向是从依赖方指向被依赖方[^2]。这意味着,箭头起点处的会因为终点处的发生变化而受到影响。 #### 示例说明 假设我们有两个 `Order` 和 `Product`,其中 `Order` 的方法需要接收一个 `Product` 对象作为参数。这种情况下,`Order` 依赖于 `Product` 。其 UML 可以用如下形式表示: ```plaintext +------------------+ <<depends on>> +------------------+ | Order | --------------------------> | Product | +------------------+ +------------------+ ``` 在这个例子中,“<<depends on>>”代表一条带有箭头的虚线,表明 `Order` 依赖于 `Product` [^3]。 #### 使用代码进一步解释 下面是一个简单的 C++ 示例,展示如何实现上述场景中的依赖关系: ```cpp class Product { public: std::string name; }; class Order { public: void addProduct(Product product) { // 方法参数涉及到 Product 型 std::cout << "Adding product: " << product.name << std::endl; } }; ``` 在此代码片段中,`Order` 的 `addProduct` 方法接受了一个 `Product` 型的对象作为参数,这正是两者间形成依赖关系的原因所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值