Frank Schönmann: Methode auf jedem Object einer Klasse aufrufen

Beitrag lesen

hi!

der betreff sagt eigentlich schon alles, ich will die frage aber
noch ein bisschen ausformulieren:

Eigentlich sagt mir der Betreff überhaupt nichts und er ist auch
nicht dazu da, dort die komplette Frage unterzubringen.

ich habe eine klasse "Animal", die Klasse besitzt eine Methode
"do_something". nun erstelle ich in einer anderen Klasse
(World.java) beliebig viele Instanzen von "Animal".
meine frage nun: wie kann ich (ohne die anzahl instanzen zu
kennen) die methode "do_something" auf jede instanz aufrufen?

Das geht so wie du es dir vorstellst überhaupt nicht. Du musst
irgendwo eine Liste speichern, die alle Instanzen oder zumindest
irgendwelche Referenzen auf alle Instanzen enthält. Diese Liste
gehst du dann der Reihe nach durch und rufst für jede Instanz die
Methode auf. Zur Speicherung der Instanzen bietet sich ein Vektor
oder - falls du die Namen beibehalten willst - eine HashMap o.ä. an.

Alternative: wenn die Methode do_something() nicht auf Variablen
zugreifen muss, die von der jeweiligen Instanz abhängig sind und sich
in jeder Instanz unterscheiden, kannst du eine statische Funktion
für deine Klasse definieren (siehe Java-Dokumentation).

bye, Frank!