我有以下类,其中A:B表示A继承自B:
GatewayBaseActivity:SDKBaseActivity:AppCompatActivity
和
FormsAppCompatActivity:AppCompatActivity
我该如何使一个类拥有GatewayBaseActivity的所有功能,但继承关系如下:
GatewayBaseActivity:SDKBaseActivity:FormsAppCompatActivity:AppCompatActivity
基本上是将FormsAppCompatActivity插入到SDKBaseActivity和AppCompatActivity之间的继承树中。
这些类都来自Xamarin、Android和Airwatch。在不重写一半的类的情况下,最好的方法是什么?
GatewayBaseActivity:SDKBaseActivity:AppCompatActivity
和
FormsAppCompatActivity:AppCompatActivity
我该如何使一个类拥有GatewayBaseActivity的所有功能,但继承关系如下:
GatewayBaseActivity:SDKBaseActivity:FormsAppCompatActivity:AppCompatActivity
基本上是将FormsAppCompatActivity插入到SDKBaseActivity和AppCompatActivity之间的继承树中。
这些类都来自Xamarin、Android和Airwatch。在不重写一半的类的情况下,最好的方法是什么?
:
)并提供伪代码示例,可能会更有意义。 - maccetturaGatewayBaseActivity
。如果代码是开源的,您可能可以重新编写一个Activity
,以从FormsAppCompatActivity
等中扁平化这些结构,使其更简单。这种继承关系过于复杂,具有代码异味。 - Jon DouglasFormsAppCompatActivity
并将其替换AppCompatActivity
,这样就不需要重写类层次结构的一半,只需修改继承新类的那个类即可。如果你没有AppCompatActivity
的代码,则无法在它之前插入任何内容,因为你没有权限。 - InBetween