实例化面向对象编程中的接口



我试图在UML类图中表示以下情况。

  1. 我们有一个名为Selection的类,用户可以在其中选择下一个屏幕是
  2. 选择类有一个属性screen:screen,其中screen是一个接口
  3. 界面屏幕有多种实现方式。例如SimpleScreen、SuperScreen等
  4. 选择类中的screen属性应该能够包含屏幕的任何实现的实例,这取决于用户的选择

我的问题是:

  1. 在OO中可以做到这一点吗
  2. 在这种情况下,类图表示会是什么样子

现在我有一个这样的图表:http://yuml.me/1dcb2f2f

如果你想修改我使用的yuml.me的图表,这是链接http://yuml.me/edit/1dcb2f2f

感谢您的帮助

是的,在OO中可以做到这一点。正确的UML表示法是:

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

为了在抽象的"屏幕"上进行多态操作,实现必须遵循公共接口或从公共基类继承。

我不确定UML的正确方法,我认为你已经得到了正确的图表。

熟悉设计模式

使用工厂方法(根据用户选择生产实例)+
singleton(使工厂易于访问并确保只存在一个工厂),用于生产所需类的实例+
带有桥接模式的对象组合(允许将接口与实现解耦,并允许在运行时切换实现/)

最新更新