我可以看到两种设计来实现这一点:
1. 我可以在Team中实现addSpawn()和getSpawns(),但不在EditorTeam中实现,在访问方法之前,将AbstractTeam转换为Team。 2. 我可以在AbstractTeam中实现addSpawn()和getSpawns(),使它们不起作用,然后在Team中重写它们。这将消除类型转换的需要,但会暗示EditorTeam在某种程度上关心生成点,因为它现在有了这两个(虚假)方法。
所以我的问题是哪种方法更好?
该代码使用C++编写,如果上面不清楚,我可以提供一些示例。