EA&UML日拱一卒--類圖::實現(realization)

EA&UML日拱一卒--類圖::實現(realization)

來自專欄 EA&UML日拱一卒

上一篇文章我們講到了抽象類和具象類。其中抽象類是不能被實例化的類。這即可能是因為類的實現還不完整(如缺少某些操作的方法),也可能是因為功能不完整而不想被實例化。與之相對的就是具象類。

介面

但是一般來說,抽象類還是有一些功能(屬性,方法)的。我們繼續簡化(抽象化),直到只剩下公開的抽象操作,而沒有了屬性和方法,這種狀態UML有一個專門的名字:介面(interface)。

介面用來定義一組公共的特性和服務,是服務提供者和利用者之間的協議,定義介面的目的就是為了替換由不同的服務提供者提供的實現;抽象類抽取了具象類的共通特性,並通過具象類實現完整的功能。目的在於抽取共通而不是定義行為。二者的使用場景有很大的不同。

實現(realization)

具象類到抽象類的關係叫泛化,介面的實現到介面的關係就叫實現(realization)

表示法

在類圖中,介面和類的表示基本一致,只是在類名上多了一個《interface》關鍵字。實現則有兩種表現形式:一是指向介面類的頂端帶有三角形的虛線;另一種方式是帶有《interface》關鍵字的依賴箭頭。

盡量用左邊這個吧。

如果閱讀本文能給您帶來些許收穫,歡迎點贊並分享!

閱讀更多更新文章請關注【面向對象思考】微信公眾號!

推薦閱讀:

EA&UML日拱一卒--序列圖(Sequence Diagram)::入門
你認為最好的 UML 建模工具是哪一個(最好是免費軟體)?
如何用面向對象設計一個程序,經典推薦?
(翻譯)OMG UML2.5中文譯文 16.12 Expansion Regisons
在軟體開發過程中,有哪些UML圖是比較常用的?

TAG:面向對象編程 | 面向對象分析與設計 | UML建模 |