22

これについていくつかの同様の質問を読みましたが、私が直面している問題を解決するものはないようです。典型的な答えは派生クラスとしてキャストすることですが、派生クラスの型がわからないのでできません。

これが私の例です:

class WireLessDevice { // base class
    void websocket.parsemessage(); // inserts data into the wireless device object
}

class WiFi : WireLessDevice { // derived class
    GPSLoc Loc;
}

ワイヤレス デバイスは、Bluetooth、Wi-Max、セルラーなどのデバイスを作成するために派生させることもできるため、どのタイプのワイヤレス デバイスがデータを受信するのかわかりません。

基本クラスの websocket で GPS パケットを受信したら、派生デバイスの位置を更新する必要があります。

おそらく、キューを介してメッセージを送信するか、イベント ハンドラーを作成してイベント引数で場所を送信すると思いましたが、データがクラス内にとどまっている場合、それらは少しぎこちないように見えます。

タイプを知らなくても、基本クラスから派生デバイスを呼び出すことができる言語に組み込まれているものはありますか?

4

2 に答える 2