Comment dois-je appeler une méthode de la classe dérivée de la classe de base?

J'ai lu plusieurs questions à ce sujet, mais aucune ne semble résoudre le problème, je suis confronté. La réponse typique est présentée comme la dérivée de la classe, mais je ne peux pas puisque je ne connais pas la classe dérivée de type.

Voici mon exemple:

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

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

Appareil sans fil peut également être dérivé de faire le Bluetooth, le Wi-Max, Cellulaire, etc. appareils et donc je ne sais pas quel type de wirelessdevice sera la réception de données.

Quand un GPS paquet est reçu sur le websocket dans la classe de base j'ai besoin de mettre à jour les dérivés de l'appareil emplacement.

J'ai pensé que peut-être l'envoi d'un message via une file d'attente ou la création d'un gestionnaire d'événement et l'envoi de l'emplacement dans les arguments de l'événement, mais celles-ci semblent un peu maladroit lorsque les données est de rester au sein de la classe.

Est-il quelque chose de construit dans la langue qui me permettrait d'appeler mon dérivé de l'appareil de la classe de base sans connaître le type?

Prendre un coup d'oeil au modèle de décoration. Votre problème semble être votre mauvaise conception.
Pas besoin d'un décorateur...Prendre un coup d'oeil au résumé ou de méthodes virtuelles...

OriginalL'auteur CramerTV | 2013-04-18