Hallo,
ich stehe gerade vor einem lästigen Problem, für das ich leider noch nichts passendes gefunden habe :rtfm:
Ich habe eine Roboterklasse von der es zwei verschiedene Typen gibt.
JumpRoboter (zählt Sprünge) und Driveroboter(zählt Weglänge). (Soweit so gut)
Diese Jump bzw. Driveroboter können jetzt aber noch verschiedene Aufsätze erhalten. Bei diesen Aufsätzen handelt es sich entweder um eine Kamera (int Pixel kommt hier hinzu) oder um einen Bohrer (double length) kommt hinzu.
Jetzt denke ich man wird dass mit einem Interface schön lösen können, jedoch kann man die Aufsätze auch austauschen.
Ein JumpRoboter mit Kamera, darf aber keine Bohrerlänge besitzen und umgekehrt, daher kann ich auch nicht im Vorhinein beide Variablen in eine Klasse geben.
Jetzt war ich so dreist und unerfahren dass ich einfach eine adoptTo() Methode geschrieben habe die ein neues Objekt der anderen Klasse erstellt und sie der alten Referenz zum Überschreiben mitgibt. Funktioniert natürlich nicht
Wie löst man dieses Problem?
Vielen vielen Dank!!
ich stehe gerade vor einem lästigen Problem, für das ich leider noch nichts passendes gefunden habe :rtfm:
Ich habe eine Roboterklasse von der es zwei verschiedene Typen gibt.
JumpRoboter (zählt Sprünge) und Driveroboter(zählt Weglänge). (Soweit so gut)
Diese Jump bzw. Driveroboter können jetzt aber noch verschiedene Aufsätze erhalten. Bei diesen Aufsätzen handelt es sich entweder um eine Kamera (int Pixel kommt hier hinzu) oder um einen Bohrer (double length) kommt hinzu.
Jetzt denke ich man wird dass mit einem Interface schön lösen können, jedoch kann man die Aufsätze auch austauschen.
Ein JumpRoboter mit Kamera, darf aber keine Bohrerlänge besitzen und umgekehrt, daher kann ich auch nicht im Vorhinein beide Variablen in eine Klasse geben.
Jetzt war ich so dreist und unerfahren dass ich einfach eine adoptTo() Methode geschrieben habe die ein neues Objekt der anderen Klasse erstellt und sie der alten Referenz zum Überschreiben mitgibt. Funktioniert natürlich nicht
Wie löst man dieses Problem?
Vielen vielen Dank!!
Zuletzt bearbeitet: