假设我有两个基类,Container
并且Gizmo
. ClassContainer
有一个实例变量 class Gizmo
。
现在我是子类Container
(称为SubContainer
),我也是子类Gizmo
(SubGizmo
)。在某些方法中,我需要向一些没有但SubContainer
有的属性发送消息。有什么方法可以将 ivar 覆盖为in类,以便我可以发送这些消息?Gizmo
SubGizmo
SubGizmo
SubContainer
现在,我可以通过在SubGizmo
每次需要使用此类属性或方法时将继承的 ivar 转换为它来使其工作。
这就是我想要这种行为的原因:我已经有一个可以运行的游戏,但是我添加的模式越多,它就越难维护。如果我想更改/添加将在每种模式下运行的方法;我需要去三个不同的游戏 - 控制器对象并进行更改。
通过子类化,我想将主要的游戏机制保留在基类中,并为每种模式创建一个子类。这样,我在基类中所做的更改将反映在每种模式上。然而,每个控制器和游戏对象都有针对不同模式的新方法,并且它们相互发送消息。这就是我的问题所在。