在 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/