2013-08-21 26 views
0

我想在UML類圖中表示以下情況。在面向對象編程中實例化接口

  1. 我們有一個名爲Selection的類,其中用戶選擇 下一個屏幕如何。
  2. 選擇類有一個屬性屏幕:屏幕,其中屏幕是一個接口。
  3. 界面屏幕有多種實現方式。恩。 SimpleScreen,SuperScreen等
  4. 選擇類中的屏幕屬性應該能夠包含任何屏幕實現的實例,具體取決於用戶的選擇。

我的問題是:

  1. 是否有可能做到這一點在OO?
  2. 對於這種情況,類圖表示看起來如何?

現在我有一個圖是這樣的:http://yuml.me/1dcb2f2f

如果你要修改的圖我用yuml.me這是鏈接http://yuml.me/edit/1dcb2f2f

謝謝您的幫助

回答

0

是的,可以在OO中完成。正確的UML符號是:

http://app.genmymodel.com/engine/xaelis/nextScreen.jpg

+0

大,這就是我想要的。那麼在Java或C++等OO語言中可以做'Screen userSelection = new SuperScreen();'例如? Thx – nest

+0

是的。儘管如果我記得很清楚,在C++中你沒有接口,所以你會使用抽象類。 – Xaelis

0

爲了在一個抽象的「屏幕」上多態地執行,實現必須遵循一個通用的接口或從一個公共基類繼承。

我不確定UML的正確方法,我想你已經得到了正確的關係圖。

0

熟悉設計圖案

使用工廠方法(基於用戶的選擇產生實例)+
(使得工廠方便和確保只有一個工廠中存在),用於需要類+
對象組合的生產實例與橋接模式(允許將接口從實現中分離出來並允許在運行時切換實現/)

+0

這並沒有真正回答這樣一個問題... – observer