# Die Getter Methode



## Joergi (25. Mai 2010)

Hallo an alle 

Wir haben erst vor kurzem mit Java angefangen und unter anderem viel mit den Getter -/Setter Methode gemacht.

Die Setter Methode dient ja um zum Beispiel eine Instanzvariable zu initialisieren (mit einem Wert zu belegen) 

zum Beispiel:


```
public String setVorname(String vorname) {
	this.vorname=vorname;
}
```

Aber ich komme nicht ganz dahinter für was genau eine Getter Methode nützlich ist =(
Damit gibt man ja einen Wert zurück, aber wohin zurück? =/

In der Schule haben wir mit 2 Klassen in einem Projekt gearbeitet, braucht man da dann die Getter Methode um auf die Variable zugreifen zu können falls diese private ist?

z.B:

```
public class Menschen {

private String vorname;

public String setVorname(String vorname) {
	this.vorname=vorname;
}

public String getVorname(){
	return vorname;
}
```

Und dann die 2.te Klasse:

```
public class TestMenschen {
	
	public static void main(String[] args) {

		String vorname;
		Menschen Test = new Menschen();
		Test.setVorname("Hans");
		vorname=Test.getVorname();
		

	}
}
```

Dient zu diesem Zweck die Getter Methode, oder verpeile ich da was? 

Hoffe mir kann das einer erklären =/ 

Liebe Grüße, 
Jörgi


----------



## eRaaaa (25. Mai 2010)

Nö haste schon richtig verstanden.


----------



## Joergi (25. Mai 2010)

Aber was bringt es dann wenn ich jetzt in die Variable 'vorname' in der 2.ten Klasse das übergebe?

Dann hat zwar der String vorname den neuen Wert aber ja nicht das Objekt. 

LG


----------



## Michael... (25. Mai 2010)

Mit einer privaten Instanzvariable und entsprechenden set und getMethoden, kann man verhindern, dass von aussen unkontrolliert auf diese Variable zugegriffen werden kann.


----------



## Joergi (25. Mai 2010)

Ja schon, aber ... ich versteh nicht genau ... wenn ich jetzt die Getter Methode schreibe, wo genau der Wert den ich zurück gebe hin kommt, wenn ich zum Beispiel jetzt das mit dem vorname=Test.getVorname(); weg lasse bzw die ganze 2.te Klasse

LG


----------



## Michael... (25. Mai 2010)

Joergi hat gesagt.:


> wenn ich zum Beispiel jetzt das mit dem vorname=Test.getVorname(); weg lasse bzw die ganze 2.te Klasse


Wenn niemanden der Vorname der Vorname des Menschen interessiert brauchst Du auch keine getMethode()

In dem Fall von 
	
	
	
	





```
vorname=Test.getVorname();
```
 wird einfach nur der Variablen vorname der String den die Methode getVorname() liefert zugewiesen.

Ansonsten bietet diese Methodik - wie in meinem vorherigen Post geschrieben - die Möglichkeit den Zugriff auf Instanzvariablen zu kontrollieren.


----------



## Joergi (25. Mai 2010)

Okay danke für die Erklärungen 

hat mir auf jedenfall weiter geholfen 
Werde mal so weiter probieren und gucken, hehe

liebe Grüße


----------

