作者m13m13m (奇怪 還沒收到??)
看板C_and_CPP
標題[問題] Class-Diagram
時間Sun Jun 20 12:17:55 2010
請問一下
在class diagram中 斜體字是代表 virtual function 還是pure virtual function?
粗體是代表override || redefine嗎?
實在有點不清楚...
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.10.100
> -------------------------------------------------------------------------- <
作者: tinlans ( ) 看板: C_and_CPP
標題: Re: [問題] Class-Diagram
時間: Sun Jun 20 13:36:10 2010
※ 引述《m13m13m (奇怪 還沒收到??)》之銘言:
: 請問一下
: 在class diagram中 斜體字是代表 virtual function 還是pure virtual function?
: 粗體是代表override || redefine嗎?
: 實在有點不清楚...
: 謝謝
UML 跟 Java 一樣假設所有 method (UML 叫 operation) 都是 dynamic binding,
所以沒有特別註明一定就是 C++ 的 virtual function。
斜體表示 abstract,
用在 class name 就代表是 abstract class,
用在 operation name 就是 C++ 的 pure virtual function。
只要有一個 operation 是斜體,
class name 也會跟著用斜體,
或是使用 <<Abstract>> 這種 stereotype (手畫的時候比較難分斜體所以建議用)。
如果 class 本身是 interface,
直接標上 <<Interface>> 的 stereotype 就可以。
class name 跟 operation name 全部都正寫,
C++ 實作上當然所有 method 還是 pure virtual function。
下畫底線的 operation 表示它是 static。
粗體我沒看過有人在用。
--
Ling-hua Tseng (uranus@tinlans.org)
Department of Computer Science, National Tsing-Hua University
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage:
http://www.tinlans.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.111.179
※ 編輯: tinlans 來自: 118.160.111.179 (06/20 13:36)
→ loveme00835:推推~ 06/20 14:07
推 loveme00835:按錯... 06/20 14:20
推 m13m13m:Cool! 謝謝你精闢的講解 06/20 14:52
推 nowar100:Push! 06/20 15:18