栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何用UML方法表示通用参数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何用UML方法表示通用参数?

我不知道如何在您选择的工具中执行此操作,但是在模型级别,它的工作方式与类完全相同。您使用签名创建模板操作。

UML2上层结构的第17.4.14章对此进行了说明:

模板操作的模板参数和模板参数绑定是操作名称和操作参数之间的两个列表。
* <可见性> <名称>’<’<模板参数列表>’>’‘<<’<绑定表达式列表>’>>’‘(’<参数> [‘,’<参数>] * * ‘)’[‘:’
<属性字符串>]

就您的情况而言,我们首先来看一下

public <T> boolean bar(T x, T y)

这将对应于

+ bar (x:T,y:T):布尔值

您的原始示例看起来更加复杂,因为模板参数被限制在另一个类Comparable中,该类又是一个模板,其参数(我将其称为T1)又绑定到操作的参数。这给了我们

+ bar 可比 T >>(x:T,y:T):布尔值

注:比特的深入漫步超前 )模板由UML指定(在一定程度C
++)是从泛型一个非常不同的野兽在Java中。它们看起来或多或少是相同的,但是它们的语义上存在(有时是微妙的)差异,这使得很难将两者匹配。UML中最重要的一个是:

模板不能以与相同类型的非模板元素相同的方式使用。模板元素只能用于生成绑定元素(例如,模板类不能用作类型化元素的类型)或作为另一个模板规范的一部分(例如,模板类可以专门化另一个模板类)。

这意味着在UML中,OtherFoo也需要也是一个模板-
即具有模板签名(带有0个参数)。为了在模板范围之外正确使用操作模板(即在活动或类似操作中调用它),您首先必须将其绑定到一个具体的操作上,该操作将被使用。对于您的示例,这意味着:

  1. 将OtherFoo模板绑定到(匿名)绑定类。
  2. 将栏操作模板绑定到绑定类中的操作。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号