是否可以仅使用一个实现扩展两个或更多类?

时间:2014-08-06 11:13:04

标签: delphi

我遇到了一个问题,我认为如果没有一些代码复制就无法解决,但也许我错过了一些东西。

这是我的情景:

TCommonAncestor = class (TSomeClass, ISomeInterface1, ISomeInterface2)

TAncestor1 = class (TCommonAncestor)

TAncestor2 = class (TCommonAncestor)

TMyClass1 = class (TAncestor1)

TMyClass2 = class (TAncestor2)

鉴于我无法在TMyClass1 / 2之前修改任何内容(祖先是Delphi类,更具体地说,我是继承自FireDAC的Query / MemTable / StoredProc ...),我需要实现许多方法和我所有继承类共有的属性。 显然接口不是问题,我可以创建一个新的IMyInterface来声明我所有的新方法和属性,并修改我的类声明:

TMyClass1 = class (TAncestor1, IMyInterface)

TMyClass2 = class (TAncestor2, IMyInterface)

但是我必须在每个派生类上实现每个方法......

有没有办法避免重复这么多代码?

0 个答案:

没有答案