当然可以,我只是想知道以这种方式进行设计是否合理。
我正在制作突破克隆,并正在进行一些类设计。我想使用继承(即使不是必须的)来应用我在C ++中学到的知识。我当时正在考虑类的设计,并想出了这样的东西:
GameObject->基类(由x和y偏移量等数据成员以及SDL_Surface *向量
组成:MovableObject:GameObject->抽象类+ GameObject的派生类(一个方法void move()= 0;)
NonMovableObject:GameObject->空类...除了构造函数和析构函数外,没有方法或数据成员(至少现在是这样?)。
后来我打算从NonMovableObject派生一个类,例如Tileset:NonMovableObject。我只是想知道是否经常使用“空”抽象类或只是空类...我注意到我这样做的方式,我只是为了分类而创建NonMovableObject类。
我知道我只是想做一个突破性克隆而已,但我的重点不在游戏上,而是在使用继承和设计某种游戏框架上。
MovableObject
也NonMovableObject
可以相互继承,它们都具有一个位置; 这样,它们两者都应该由代码消耗,例如,它们希望将怪物的目标对准某个对象而无需考虑该对象是否可能移动。