Vorbei Superklasse als parameter der Methode erwartet, die sub-Klasse

Habe ich ein Objekt-Baum, der in etwa so aussieht wie

           Ball
          /    \
  LegalBall    IllegalBall

Und ich habe 2 Methoden:

class o {
AddBall(LegalBall l)
AddBall(IllegalBall i)
}

in einer anderen Klasse möchte ich Folgendes tun:

o.AddBall(myBall);

wo myBall ist vom Typ Ball.
Und es zum Aufruf der richtigen Methode abhängig vom Subtyp.
Anscheinend kann ich nicht tun... die Argumente sind nicht zutreffend.

Weiß jemand, wie ich erreichen kann, was ich will? Oder, wenn es eine gute Arbeit rund um

Dank

EDIT : die Anwendung, die ich versuche zu bauen, ist ein Cricket scorecard-Typ-Sache. So kann je nach Art der Kugel, die rollte verschiedenen anderen Elementen ändern sollte.

meine ursprüngliche Absicht war, zu können, geben Sie den ball geben und läuft erzielte aus irgendeiner form von UI und erstellen Sie dann eine geeignete Art ball von einem BallFactory und dann wenn ich zum Beispiel sende eine keine Kugel zum team-score wird der Wert auf den team-Punktestand, sondern auch hinzufügen, den Wert für den keine Kugeln Zähler. Aber wenn ich den gleichen ball, um die Batsmens Analyse befassen sich mit sollte es nur score-Wert 1 batsmens total..

Ich hoffe das ist nicht allzu schlimm, eine Erklärung meiner ursprünglichen Absicht.

InformationsquelleAutor Rocco | 2008-12-26

Schreibe einen Kommentar