Attribute einer Klasse in eine andere Klasse durch eine Methode verändern?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Der Konstruktor wird nur aufgerufen, wenn du ein Objekt der Klasse A erstellst. Beispielsweise:

A Beispiel = new A(5);

Dann wird ein Objekt der Klasse A erzeugt mit Namen "Beispiel", und in deine Variable "Zahl" wird 5 geschrieben.

Willst du ein bestehendes Objekt verändern, musst du eine Setter-Funktion schreiben, damit du auf "Zahl" im Nachhinein noch schreibend zugreifen kannst.

bishare 
Fragesteller
 05.01.2016, 22:20

Und wie mache ich das :/ ? Habe jetzt mein setter

public void setZahl(int zahl) {
Zahl= zahl;
}

Wie würde die Methode Kopf(); aussehen? 

0
bishare 
Fragesteller
 05.01.2016, 22:29
@bishare

Ah, habs schon. Muss nur noch den Fehler finden, wieso er es nicht in der Methode settet ._.

0

Entweder du deklarierst Zahl public (unüblich) oder du definierst noch eine Setter-Methode.

Ich weiß nicht, wie das genau in Java aussieht, aber entweder gibt es ein Alias für Properties, welche auf die Getter- und Settermethoden zugreifen, welcher public / published ist, die Getter- und Settermethoden müssen public sein oder eben die Zahl selbst.

public ist das Tor nach außen. Irgendetwas muss public (oder ähnlich) sein, was auf Zahl zugreift.

Woher ich das weiß:Berufserfahrung – Programmierer

C++ bietet für soetwas Überladen von Operatoren. Ob Java das auch mitmacht weiß ich leider nicht.

Entweder kannst du zahl public anstatt private deklarieren, dann kannst du einfach per A.Zahl darauf zugreifen, d.h. lesen und verändern. Oder du schreibst in A noch eine set-Methode - mit get allein kannst du zwar Lesen, aber nicht schreiben.