我已经阅读了几篇类似的问题,但都无法解决我面临的问题。典型的答案是将其强制转换为派生类,但我不能这样做,因为我不知道派生类的类型。
以下是我的示例:
class WireLessDevice { // base class
void websocket.parsemessage(); // inserts data into the wireless device object
}
class WiFi : WireLessDevice { // derived class
GPSLoc Loc;
}
无线设备可以用于制作蓝牙、Wi-Max、蜂窝等设备,因此我不知道哪种类型的无线设备将接收数据。
当基类中的websocket接收到GPS数据包时,我需要更新派生设备的位置。
我考虑通过队列发送消息或创建事件处理程序并在事件参数中发送位置,但当数据留在类内部时,这些方法似乎有点笨重。
是否有一些内置到语言中的东西可以让我在不知道类型的情况下从基类调用我的派生设备?