我在代码中遇到了以下设计问题,可以使用一些指针。我可能会遗漏一些明显的东西,或者我应该使用某种我不熟悉的模式。
我的继承树如下所示....
项目A和B代表Visual Studio中的单独项目。其他项目也可以从项目A中的类继承。
需要更改/覆盖Control
中SepaControl
上的某些行为,并拥有该项目中的其他元素,例如SepaTextField
继承自SepaControl
。
我在右侧突出显示了问题。我不能SepaTextField
继承SepaControl
,因为SepaTextField
已经从继承自TextField
的{{1}}继承。
我可以复制Control
中的代码并将其添加到TextField
(我需要进行任何其他修改)并继承SepaTextField
,但这似乎效率很低。
我如何更好地重组这个以便我可以修改我的SepaControl
类的行为而不会遇到这个问题?
(同时包含Control
和Control -> TextField -> SepaTextField
的N.B仅用于说明目的。我将寻找单SepaControl -> TextField -> SepaTextField
}的实现
谢谢,