Hi!
Ich habe eine abstrakte Klasse "Schachfigur", die von nicht abstrakten Klassen wie "König" "Bauer" usw. erweitert wird.
Nun schreibt die Klasse "Schachfigur" vor, dass jede abgeleitete Klasse eine Funktion implementiert, die ausgibt, wo die Figur überall hingehen könnte.
Mein Problem ist nun: Manche Klassen, wie zum Beispiel "Bauer" müssen den bisherigen Spielverlauf kennen, um die genannte Funktion implementieren zu können (wegen En-Passant), andere wiederum nicht. D.h. Manche brauchen in der Funktion einen zusätzlichen Parameter, andere nicht.
In der abstrakten Klasse muss ich ja nun aber entscheiden, wieviele Parameter die Funktion haben soll.
Was tun?
Ich habe eine abstrakte Klasse "Schachfigur", die von nicht abstrakten Klassen wie "König" "Bauer" usw. erweitert wird.
Nun schreibt die Klasse "Schachfigur" vor, dass jede abgeleitete Klasse eine Funktion implementiert, die ausgibt, wo die Figur überall hingehen könnte.
Mein Problem ist nun: Manche Klassen, wie zum Beispiel "Bauer" müssen den bisherigen Spielverlauf kennen, um die genannte Funktion implementieren zu können (wegen En-Passant), andere wiederum nicht. D.h. Manche brauchen in der Funktion einen zusätzlichen Parameter, andere nicht.
In der abstrakten Klasse muss ich ja nun aber entscheiden, wieviele Parameter die Funktion haben soll.
Was tun?