Jak wywołać metodę klasy pochodnej z klasy bazowej?
Przeczytałem kilka podobnych pytań na ten temat, ale wydaje się, że żaden z nich nie rozwiązuje problemu, przed którym stoję. Typową odpowiedzią jest rzutowanie jako klasa pochodna, ale nie mogę, ponieważ nie znam typu klasy pochodnej.
Oto mój przykład:
class WireLessDevice { // base class
void websocket.parsemessage(); // inserts data into the wireless device object
}
class WiFi : WireLessDevice { // derived class
GPSLoc Loc;
}
Urządzenie bezprzewodowe można również wyprowadzić, aby utworzyć urządzenia Bluetooth, Wi-Max, Cellular itp., Dlatego nie wiem, jaki typ urządzenia bezprzewodowego będzie odbierał dane.
Gdy pakiet GPS zostanie odebrany na websocket w klasie bazowej, muszę zaktualizować lokalizację urządzenia pochodnego.
Pomyślałem, że może wysłać wiadomość przez kolejkę lub utworzyć moduł obsługi zdarzeń i wysłać lokalizację w argumentach zdarzenia, ale te wydają się trochę niezgrabne, gdy dane pozostają w klasie.
Czy jest coś wbudowanego w język, który pozwoliłby mi nazwać moje urządzenie pochodne z klasy bazowej bez znajomości typu?