Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Ich sitze gerade über einer Programmierung von Klassen und möchte wissen: Ist es möglich, in einer Klasse Attribute zu erstellen, die auf weitere Objekte derselben Klasse verweisen?
Ich möchte nämlich eine Art Straßenkarte mit Wegpunkten erstellen. "Wegpunkt" ist eine Klasse. Jedes Objekt dieser Klasse soll wissen, an wie viele und an welche Objekte dieser Klasse es grenzt.
Ist das so mit Python realisierbar? Wenn nicht, welche Alternativen gibt es?
Das waere zB eine klassisch doppelt verlinkte Liste. Oder man wuerde den Wegpunkten einen Verweis auf die gesamte Liste mitgeben, so das der sich darin selbst lokalisieren und die jeweiligen Nachbarn finden kann. Wahrscheinlich lohnt sich dabei sogar die Einfuehrung eines Path-Objektes, statt nur einer Liste, aber fuer den Anfang reichts.
@snafu: __next__-Methoden findet man nur bei Iteratoren, und zum vollständigen Iterator fehlt noch die __iter__-Methode und sowieso die Tatsache, dass das Objekt etwas iteriert. Deine __next__-Methode wirft auch keine StopIteration-Exception, sondern gibt immer nur den selben Wert zurück.
Ich finde das auch komisch. Wenn man immer die waypoints mit übergeben muss, dann ergibt die Klasse für mich wenig Sinn. Für mich sieht das nach einer sehr komplizierten Art aus, um an i+1 zu kommen. Welchen Mehrwert hat dieser Weg anstatt einfach ganz normal über die Liste zu iterieren...?
Das heißt aber, dass du an der Stelle wo du einen Weg Punkt hast auch immer die Liste der Wegpunkte vorhalten musst. Kann man machen. Oder die eben dem Wegpunkt mitgeben.