Methodeninitialisierung

infonoob1234

Mitglied
Hey,
ich habe mal wieder eine Frage. Wenn man in einer Methode sich auf das Element beziehen möchte, von dem die Methode ausgeht, wie kann man das machen? Ich meine man nennt das Element ja nicht in den Klammern hinter der Methode.
Bsp.

public void plusrechnen(bruch a);

a ist ein element der klasse bruch.
plusrechnen ist eine methode der klasse bruch.
Wenn ich die Methode aufrufe, soll das element mit bruch a addiert werden.

Ich muss bloß wissen wie man sich in der Methode auf das Element bezieht von dem die Methode aus aufgerufen wird, bzw. wie das geht.
Ich hoffe ihr versteht was ich meine, sonst erklär ich es gerne nochmal.
Danke :)
 
K

kneitzel

Gast
Eine Instanzmethode wird auf der Instanz aufgerufen. Also jetzt etwas wie:
Java:
Bruch b = new Bruch(3, 4):
Bruch a = new Bruch(1, 2);
b.plusrechnen(a);

a) Du siehst, dass hier plusrechnen auf dem Bruch b aufgerufen wurde. Der Bruch a wird also zu dem Bruch b addiert.
b) Klassen bitte mit einem großen Buchstaben starten (also Bruch statt bruch)
 

fhoffmann

Top Contributor
Ergänzend zu dem, was @kneitzel gesagt hat:
Du kannst direkt auf die Member von b zugreifen, also z.B. mit nenner. Beim Zugriff auf die andere Instanz musst du dann explizit sagen a.nenner (dies ist in Java auch erlaubt, wenn nenner private ist).
 

infonoob1234

Mitglied
ok danke!
wenn ich aber die Methode schreibe, kann ich mich ja nicht auf das Element b beziehen weil es noch nicht initialisiert ist. wie kann ich das umsetzen?
 
K

kneitzel

Gast
Natürlich ist b initialisiert. Sonst hättest Du das element ja nicht. Um die Methode aufrufen zu können, brachst Du eine Instanz der Klasse. Und diese Instanz musst Du mit new erzeugen. Und dabei wird diese initialisiert.
 

fhoffmann

Top Contributor
Wahrscheinlic gibt plusrechnen sogar einen Bruch zurück. Dann müsste der Code von @kneitzel so aussehen:
Java:
Bruch b = new Bruch(3, 4):
Bruch a = new Bruch(1, 2);
Bruch c = b.plusrechnen(a);
 

Neue Themen


Oben