ich hänge gerade beim Programmieren an einem Problem, bei dem ich mir sicher bin eine simple Lösung zu übersehen. :bahnhof:
Ich habe einen Objekt-Array und will in dem Objekt eine Methode schreiben, die auf die anderen Objekte des Arrays zugreifen kann. Zusätzlich wäre es geschickt wenn ich in der Klasse für das Objekt auf andere Variablen von der Aufruferklasse zuzugreifen ohne es per Parameter zu übergeben.
Ich hoffe die Lösung ist so simple wie ich mir sie vorstelle
Vielleicht habe ich die Problembeschreibung falsch verstanden. Aber ich glaube, was Du willst, das geht nicht. Um eine Methode auf etwas anderem aufrufen zu können, brauchst Du eine Referenz auf dieses andere. Ein Element in einem Array "weiß" von sich aus nichts von den anderen Elementen. Es "weiß" im Grunde nicht mal, dass es in einem Array drinnen ist. Gleiches gilt für die Aufruferklasse. Auch von der weiß das Objekt zunächst mal garnichts.
Kannst Du konkret beschreiben, was Du machen willst? Vielleicht fallen einem dazu ein paar gute Ideen ein.
Also ich bin gerade dabei ein Programm das Sodukus löst zu programmieren (just for fun). Dann habe ich einen Array mit den Kästchen. Und jetzt würde ich gerne eine Methode in der Klasse Square (für Kästchen) schreiben, die nachschaut was die anderen Kästchen daneben für Werte haben.
Bis jetzt habe ich das nicht sehr schön gelöst und ich hätte einige Vorteile wenn ich von dem Objekt auf die Aufruferklasse (auf die Variablen darin) zugreifen könnte.
Dann habe ich einen Array mit den Kästchen. Und jetzt würde ich gerne eine Methode in der Klasse Square (für Kästchen) schreiben, die nachschaut was die anderen Kästchen daneben für Werte haben.
Bis jetzt habe ich das nicht sehr schön gelöst und ich hätte einige Vorteile wenn ich von dem Objekt auf die Aufruferklasse (auf die Variablen darin) zugreifen könnte.
Ich sehe das Problem darin, dass du zu früh die technische Implementierung festgelegt hast.
Aus deiner Aufgabenstellung ergibt sich für mich kein Array; vielmehr müsste jedes Kästchen eine Verknüpfung zu anderen Kästchen - und zwar die, die nebenan liegen - haben.
Also wie eine verkette Liste, nur in mehrere Dimensionen.
Wenn deine Kästchen eine Referenz zu ihren Nachbarn haben, könntest du natürlich weiterhin alle Kästchen in einem Array speichern, aber auf das Array könnte man dann komplett verzichten.
Eine andere Art der Modellierung wäre, dass nicht ein Kästchen weiss, was im Kästchen nebenan ist, sondern dass es ein Objekt Matrix gibt, welches zu einem Kästchen sagt, was daneben ist. Der kleine aber feine Unterschied ist, dass hierbei nicht das Kästchen selber Auskünfte zu seinen Nachbarn gibt.
oh vielen Dank für die Antwort. Ich weiß zwar nicht genau wie Listen funktionieren, aber das hört sich sehr schlüssig an. Ich glaub ich werde das mal Lernen. Aber wenigstens weiß ich das das nicht so klappt wie ich das wollte.