我有两个类(称为B和C),它们都派生自一个类(称为A)。现在我需要编写一个类(称为D),它应该能够在运行时动态地从B或C派生。
B、C和A是通过库提供给我的类,而我唯一控制的类是D类。如何根据上述约束编写D类呢?显然,B和C来自不同的供应商,因此取决于其父类,需要重写不同的方法。
我不能编写不同版本的D类,以从B和C子类化,因为覆盖方法在不同的方法名称下具有相同的代码。
B、C和A是通过库提供给我的类,而我唯一控制的类是D类。如何根据上述约束编写D类呢?显然,B和C来自不同的供应商,因此取决于其父类,需要重写不同的方法。
我不能编写不同版本的D类,以从B和C子类化,因为覆盖方法在不同的方法名称下具有相同的代码。
D
的接口代替吗? - Bathsheba