Einfache Frage zur Punktnotation objektname.methode(wert)

Hbx8x

Aktives Mitglied
Sagen wir mal ich habe ein Objekt erzeugt mithilfe

Klassenname objektname = new Klassenname:

Wenn ich nun folgende Punktnotation nutze

objektname.methode(wert)

Wie kann ich mir das vortellen wie die Zeile ausgeführt wird? Die Methode sei jetzt frei gewählt. Sagen wir mal der Wert sei hallo und die methode würde nun als parameter ein String erwarten (hier hallo). Jetzt wird die Methode ganz normal augeführt mithilfe hallo. Das ist noch einfach. Aber inwiefern hat nun das erzeugte Objekt Einfluss auf die Methode. Kann man das evtl. über eine andere Schreibweise verstehen?
 
Also die Methode "methode" ist ja in einer Klasse definiert worden. Und so diese nicht statisch ist, wird eine konkrete Instanz für den Aufruf benötigt.

Also bei Häusern (Klasse) kann man nun TürÖffnen(Tür). Aber wenn ich sage TürÖffnen(Haustür), dann ist doch absolut unklar, bei welchem Haus dies nun geschehen soll. Daher hat man immer erst die Instanz, auf der die Methode ausgeführt werden soll.
 
Ich stell mir in meiner naiven Welt Objekte wie Kartons vor. Jedes Objekt hat seinen eigenen Karton. Instanzattribute sind Zettel innerhalb des Kartons. Methoden auf einem Objekt verändern dann die Zettel innerhalb des Kartons. Manche Variablenwerte stehen direkt auf den Zetteln drauf (primitive Typen wie int zum Beispiel) bei komplexeren Attributen steht auf dem Zettel nicht der Wert, sondern eine Adresse wo man einen weiteren Karton(, welcher wieder andere Zettel beinhaltet,) findet.
 

Neue Themen


Zurück
Oben