我目前正在学习OCUP UML基础考试。 在读这本书时,我发现了一些关于操作的奇怪之处
操作的语义:
[visibility] name (parameter list)[:type][{property strings}]
现在有以下示例:
- getPoistion(return x: int, return y: int)
- enlarge(byFactor: Real) : GeomFigure
- +addPhone(phone:String)
- deposit(in amount, Amount): Amount
- #release(): contractStatus
- "create"create()
我认为最后一个是奇怪的。有人可以解释一下为什么这是允许的吗? 由于名称前允许的唯一语义是可见性修饰符。
亲切的问候,
维姆
答案 0 :(得分:-1)
你究竟在哪里找到这个例子?它看起来确实不正确,绝对不符合上述正式表达。
这些是UML规范的最后一个版本的示例,所有这些都非常好:
9.6.5 Examples Normal Operations: display () -hide () +createWindow (location: Coordinates, container: Container [0..1]): Window +toString (): String A template Operation: f <T:Class>(x : T) A binding of that template Operation. f << T -> Window >>(x : Window) NOTE. Parameters may be suppressed; .
如果您从非正式来源获取示例,那显然是一个错误。我会忘记它。 :)
答案 1 :(得分:-1)
您引用的书籍http://issuu.com/maurosergio/docs/uml_2_certification_guide_-_fundamental_and_interm中的第2.2章“操作”(第49页)也说
..符号和语义。操作的语法......符号应该是这样的..
符号不定义/限制操作的语义含义。它指定了一般有用的语法。
&#34;创建&#34;消息具有UML特殊的行为意义(不知道你正在阅读的书中解释的位置)。例如,请查看此处http://www.uml-diagrams.org/sequence-diagrams.html,请参阅图表中的<<create>>
构造型和文本中稍后的create
消息。
另见&#34;对象创建消息&#34;这里的章节http://www.uml-diagrams.org/uml-object-oriented-concepts.html#message
Kirill Fakhroutdinov的在线书籍www.uml-diagrams.org 是作者从官方来源(UML规范)以及其他非背景非UML来源编写的非常好的UML参考资料。一些&#34;常识&#34;。
浏览本书可能更容易为考试做准备,或者至少将其视为替代阅读。很多&#34; visual&#34;包括的例子
欢迎阅读Stack Overflow并阅读https://stackoverflow.com/help/someone-answers