Ich nochmal: Ich habe die Vermutung, du kommst mit dem Programmier-Konstrukt der -> Methoden noch nicht klar. Mal ein einfaches Beispiel, warum Methoden gut sind und wie man sie gebraucht (in Ruby wird eine Methode eingeleitet mit "def MEHTODENNAME ARGUMENT(E) ... end"):
Aufgabe: Verschiedene Flüssigkeiten sollen aus verschiedenen Behältern in verschiedene Gefäße gegossen werden. Man kann das folgendermaßen lösen, wie das auch die meisten Leute tun, wenn sie anfangen zu programmieren:
"Aufgabe: Gieße Kaffee aus einer Kanne in eine Tasse
Vorgehen: Nimm die Kaffeekanne, halte sie über den Rand der Tasse, schräge sie an, prüfe fortwährend die Füllhöhe in der Tasse, ..."
"Aufgabe: Gieße Putzwasser aus einem Eimer ins Klo
Vorgehen: Nimm den Eimer, halte ihn über den Rand ..."
"Aufgabe: Gieße Motoröl aus der Flasche in den Trabi-Benzintank
Vorgehen: Nimm die Flasche, halte sie über ..."
Abstrakt ergibt sich
"Aufgabe: Gieße a aus b in c
Vorgehen: Nimm b, halte es über den Rand von c, ..."
Das Abstrakte ist im Prinzip die Methode. Die muss man ja irgendwie ansprechen können, also kriegt sie einen Namen, z. B. "gieße" Man sagt über den Programmcode also: "Achtung, jetzt definiere ich eine Methode, die man danach verwenden kann, indem man sie über ihren Namen aufruft und ihr einige Argumente mitgibt"
Und für die o. g. drei Beispiele ergibt sich:
"Aufgabe: Gieße Kaffee (a) aus einer Kanne (b) in eine Tasse (c)
Vorgehen: gieße a, b, c"
Für die Problematik hier im Thread bedeutet das, es gibt eine Methode zoom_to_object, deren Aufgabe es ist, zu einem Objekt zu zoomen. Der Methode ist egal, wie das Objekt konkret heißt oder ob es grün ist. Sie fordert nur, DASS es einen Namen hat und dass sie diesen Namen als Argument bekommt (klar, damit sie weiß, welches konkrete Objekt gemeint ist).
edit: Die Vorteile habe ich vergessen. Eine Methode stellt ein quasi standardisiertes Vorgehen dar, dass sich immer und immer wieder verwenden lässt. Man muss also den Algorithmus nicht für jede Zoom-Aktion neu notieren, sondern greift auf eine (hoffentliche funktionierende) Notation zurück. Das vereinfacht auch die Wartung. Wenn ich alles ständig "neu" schreiben muss - die meisten kopieren nur und ersetzen dann an einigen Stellen -, dann muss ich viel mehr tun, wenn doch irgendwo ein Fehler lauert. Stell dir vor, du hast 500 Zoom-Vorgänge und musstest den Algorithmus 500 Mal kopieren und anpassen. Dann musst du, sollte der Algorithmus doch fehlerhaft sein, an 500 Stellen eine Änderung machen. Bei Methodennutzung musst du das nur an einer Stelle - nämlich im Methoden-Rumpf.
azuby