【发布时间】:2015-07-27 07:06:13
【问题描述】:
我有两个类(比如 B 和 C),它们都派生自一个类(比如 A)。现在我需要编写一个类(比如 D),它应该在运行时从 B 或 C 动态派生。
B、C 和 A 是通过库提供给我的类,我控制的唯一类是 D 类。关于上述约束,我如何写 D。显然 B 和 C 来自不同的供应商,因此需要在 D 中覆盖不同的方法,具体取决于它的父类。
我不能编写从 B 和 C 子类化的不同版本的 D,因为覆盖方法在不同的方法名称下具有相同的代码。
【问题讨论】:
-
我不确定这在 Java 中是否可行,除非您使用反射。你能不能不定义一个接口来代替
D类的代理? -
你看过这个链接吗? stackoverflow.com/questions/1886785/…
标签: java android oop design-patterns subclass