我真的不知道怎么说这个问题,所以我会试着用一个例子来解释它。在不同的类中实现相同的方法
比方说,我有三个GUI类:
- 基面类
- 详细的表面类
- Sprite类
他们都是相互独立的,中间没有继承他们。 现在我有一个函数“drag()”,它可以让surface/sprite变成可拖拽的,我想把这个函数作为它们三个的方法来实现。
因为它是所有实现完全相同的代码,所以我觉得它很烦人,笨重和糟糕的做法来重写代码。 我到目前为止唯一想到的就是为它制作一个安全类,并继承这个类。但是,这似乎也不是要走的路。
我会非常感谢一些建议。
EDIT
具有稍微不同的设置另一个例子 - 我有以下类:
- BaseSurface
- Dragable
- 可调整
- 事件处理器
只有第一个是独立的,其他的依赖于第一个(必须被继承)。 最终用户应该毫不费力地选择一个简单的BaseSurface,一个用于实现可拖动,一个用可调整大小,一个用eventHandler以及任意组合。通过“毫不费力”,我的意思是最终用户不必制作自定义类并继承所需的类,并调用某些类共享的适当方法(init,update,...)。
所以我可以做的是为每个可能的组合做一个类,例如。 “BaseSurfaceDrag”,“BaseSurfaceDragResize”,... 这将很快得到混乱。什么是另一种更好的方法呢?
做一个父类,并有三个类继承它正是要走的路。这是类的预期用途。 – TigerhawkT3