【问题标题】:Runtime determination of base class基类的运行时确定
【发布时间】:2017-01-26 08:02:46
【问题描述】:

我有两个依赖于操作系统的基类 - A 类和 B 类,以单独的 jar 形式存在。

在 N OS 之前,行为是 --> C 类扩展 A 类。

现在,需要的行为是:

直到 Android M:C 类扩展 A 类。

对于 Android N 及更高版本:C 类扩展 B 类。

这样做最有效的方法是什么?

【问题讨论】:

  • 谢谢 PM..我知道组合是什么,但我不知道如何在这种情况下使用它。能详细点吗?
  • 你能想出一个两者之间的通用接口,并在所述接口和你的每个基类之间编写一个适配器吗?

标签: java android inheritance composition base-class


【解决方案1】:

提出一个通用接口,涵盖AB 提供的功能,并在该接口和上述两个类之间编写适配器。然后将适当的适配器组合到您的 C 类中。

【讨论】:

  • @iHavADoubt 这个答案是你最好的选择。 Java 中的继承是静态的,不能依赖于操作系统。
  • 谢谢。效果很好!我能够使用这个解决方案来实现我的目标。
猜你喜欢
  • 2010-12-31
  • 1970-01-01
  • 2015-07-17
  • 2010-09-27
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多