Questions tagged «polymorphism»

3
许多小型多态类(用作属性,消息或事件)的灵活替代方法
我的游戏中有两个类非常有用,但逐渐变得很痛苦。消息和属性(属性本质上是一个组件)。 它们都从基类派生并包含一个静态ID,因此系统只能关注他们想要的对象。效果很好...除了... 随着游戏的扩展,我一直在不断开发新的消息类型和属性类型。每次我需要编写2个文件(hpp和cpp)和一堆样板文件,以获得本质上是classID和一种或两种标准数据类型或指针。 它开始使玩转和测试新想法成为真正的琐事。我希望当我想创建一个新的消息或属性类型时,我希望能够键入类似 ShootableProperty: int gunType, float shotspeed; ItemCollectedMessage: int itemType; 而不是创建头文件和cpp文件,而是编写一个构造函数,包括父类等。 大约20到40行(包括警卫和其他所有内容)在我脑海中逻辑上是1或2行。 是否有一些编程模式可以解决此问题? 用脚本(我一无所知)呢?有没有办法定义一堆几乎相同的类? 这正是一个类的样子: // Velocity.h #ifndef VELOCITY_H_ #define VELOCITY_H_ #include "Properties.h" #include <SFML/System/Vector2.hpp> namespace LaB { namespace P { class Velocity: public LaB::Property { public: static const PropertyID id; Velocity(float vx = 0.0, float vy = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.