Hallo!
Ich bin noch relativ neu in Java (lerne es grade in der Uni) und habe eine Frage bzw ein Problem, dass allgemein mit Vererbung zu tun hat.
Momentan versuche ich ein Kartenspiel zu programmieren.
Bei der Erstellung des UML Diagramms hatte ich folgendes Problem:
Ich habe eine Klasse Stapel.
Dies wird der "Nachziehstapel", der im Grunde genommen nur ein Haufen Karten ist, bei dem man noch nicht so viel beachten muss.'
Es gibt im Spiel aber noch Ablege-/Hilfs-/und Spielerstapel, welche ich als eigene Klassen anlegen wollte, die Stapel erweitern - diese 3 Klassen erben also Stapel.
Stapel hat eine Funktion karteAufnehmen(Stapel zielstapel).
D.h. die Fkt. soll eine Karte von Stapel entfernen und sie 'zielstapel' hinzufügen.
Mein Frage ist: kann 'zielstapel' auch ein Hilfsstapel, Ablegestapel, etc.. sein?
(Das sind ja andere Objekte, doch ich dachte, sie sind ja quasi auch ein "Stapel" oder?)
Oder muss ich der Funktion irgendwas mit "instanceof" (sry, ich habe das noch nie benutzt ) hinzufügen?
Zum Thread Titel: Ich hatte erst bei google gesucht und von den Begriffen Kovarianz, Polymorphismus gelesen - habe das Gefühl, das könnte etwas damit zu tun haben, doch ich verstehe das anscheinend noch nicht richtig
Ich bin noch relativ neu in Java (lerne es grade in der Uni) und habe eine Frage bzw ein Problem, dass allgemein mit Vererbung zu tun hat.
Momentan versuche ich ein Kartenspiel zu programmieren.
Bei der Erstellung des UML Diagramms hatte ich folgendes Problem:
Ich habe eine Klasse Stapel.
Dies wird der "Nachziehstapel", der im Grunde genommen nur ein Haufen Karten ist, bei dem man noch nicht so viel beachten muss.'
Es gibt im Spiel aber noch Ablege-/Hilfs-/und Spielerstapel, welche ich als eigene Klassen anlegen wollte, die Stapel erweitern - diese 3 Klassen erben also Stapel.
Stapel hat eine Funktion karteAufnehmen(Stapel zielstapel).
D.h. die Fkt. soll eine Karte von Stapel entfernen und sie 'zielstapel' hinzufügen.
Mein Frage ist: kann 'zielstapel' auch ein Hilfsstapel, Ablegestapel, etc.. sein?
(Das sind ja andere Objekte, doch ich dachte, sie sind ja quasi auch ein "Stapel" oder?)
Oder muss ich der Funktion irgendwas mit "instanceof" (sry, ich habe das noch nie benutzt ) hinzufügen?
Zum Thread Titel: Ich hatte erst bei google gesucht und von den Begriffen Kovarianz, Polymorphismus gelesen - habe das Gefühl, das könnte etwas damit zu tun haben, doch ich verstehe das anscheinend noch nicht richtig
Zuletzt bearbeitet: