调用将由其他用户创建的对象的方法

时间:2014-08-12 20:58:18

标签: java inheritance design-patterns reflection

如何确保我的类能够在将由其他用户定义的对象上调用由我定义的方法。

我按照正确的设计模式构建了我的代码。在层次结构之上有一个抽象类,它由几个类扩展,其他用户将能够扩展顶级类。

在工厂类中,在我和其他用户创建的类的实例上调用顶级类的一些方法。但我不知道用户如何调用这些类,如何在工厂类中调用它们的方法?

  • CarGenerator(在上面)
  • BlueBiggerCar [扩展CarGenerator]
  • SmallGreenCar [扩展CarGenerator]
  • RedCar [扩展CarGenerator] ...

我让用户有可能添加扩展CarGenerator的新类,并在工厂类ScreenFactory上将汽车放置在屏幕上作为示例。

在工厂ScreenFactory中会有类似的内容:

new SmallGreenCar().appearOnScreen(); //A small green car appears on the screen.

但是当我的代码发布时,用户会将新车添加为对象,在这种情况下,如果我无法在工厂中创建它们的实例,那么这些车如何能够出现在屏幕上?我的代码结构可能有问题,但我无法理解如何修复。

1 个答案:

答案 0 :(得分:0)

这两种设计模式都应该完成任务: