java - 同一 Java 类的两个版本,每个版本都有不同的父类(super class)

标签 java android oop dry

在 Java 中编写同一类的两个版本(其中每个版本都有不同的父类(super class))的最简洁方法是什么?我所说的最干净是指 DRY(最少重复的代码)。这两个类将具有相似但不同的名称和相同的代码。

应用程序是 Android:类 MyActivity 扩展了 ActionBarActivity。类 MyActivity34(适用于 API 级别 3/4)扩展了 Activity,但具有与 MyActivity 相同的代码。我不想保留所有内容的两个副本(在 C++ 中我将使用预处理器)。更改父类(super class)不是一个选项。

谢谢。

注意:ActionBarActivity 类不能在 API 级别 3 或 4 中使用(运行时错误),因此 MyActivity34 不能在继承路径中的任何位置拥有它。

最佳答案

我可能会说你最好的选择是使用组合来封装任何重复的代码。创建一个包含所有共享代码的类,并从 MyActivity 和 MyActivity34 类中调用它。通常,组合比奇怪的继承结构更好/更干净。

关于java - 同一 Java 类的两个版本,每个版本都有不同的父类(super class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23372121/

相关文章:

java - 循环嵌套列表 RxJava2

java - 了解 Java 中 <> 中扩展类中的信息?

java - 获取未读短信数量的更快方法?

c++ - C++ 是面向对象的语言吗?

javascript - 最佳 OOP JavaScript 安全实践

java - 与 ArrayList 比较

java - 在 Google Code svn 上部署 Maven 生成的站点?

android - 麻省理工学院 App Inventor 2 : May I/How to place alarms in the Android notification area?

android - V8 独立应用程序仅在发布签名的 APK 时死于 SIGILL

c++ - 使用 getProcAddress 在导出的 DLL 函数中实例化一个类