getter und setter

Neue Frage »

Auf diesen Beitrag antworten »
Erstsemester getter und setter

Meine Frage:
Hey Leute :-)

Könntet ihr mir bitte das mit den getter und setter - Methoden kurz erklären? Sprich, wenn ich eine Methode habe die private ist.

Meine Ideen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
package getterundsetter;

public class getterundsetter
{
	public static void main (String[]args)
	{
		Multiplikation neu = new Multiplikation();
		neu.drucken(5);
	}
}


class Multiplikation
{
	int Zahl = 5; 
	
	private void drucken(int zahl)
	{
		System.out.println("Test für private-Modifier");
	}

	void setZahl (int zahl)
	{
		this.Zahl = zahl;
	}
	 
	public int getZahl ()
	{
		return Zahl; 
	}
}



Hier findet er leider die Methode drucken nicht :-(
 
Auf diesen Beitrag antworten »
Karlito

Hallo Erstsemester,

getter und setter dienen der Datenkapselung. Die Datenkapselung gewährleistet, dass ein Objekt nicht von außen unkontrolliert manipuliert werden kann. Im Normalfall werden alle Felder als private oder protected gekennzeichnet und sind danach nur noch über getter und setter manipulierbar. Dies wird im Normalfall mit allen Feldern gemacht, egal ob nötig oder nicht.

Weiterhin wird die Sichtbarkeit private dazu verwendet, Methoden, welche Interna des Objektes verwalten nach außen zu verbergen. Bei protected ist es so, dass man einem Programmierer, welcher von der Klasse erbt, die Möglichkeit geben will, auf die protected-Member zuzugreifen bzw. diese zu überschreiben.

Die Methode drucken ist als private gekennzeichnet. Daduch ist sie von außen nicht erreichbar. Der Zugriff aus einer anderen Klasse muss also fehlschlagen.

Gruß,

Karlito
Auf diesen Beitrag antworten »
Erstsemester

Vielen Dank für deine Antwort.

Was müsste ich jetzt in meinem Programm ändern, damit ich von außen auf die Methode zugreifen kann?
Auf diesen Beitrag antworten »
Karlito

Na einfach die drucken-Methode public machen.

Gruß,

Karlito
 
Auf diesen Beitrag antworten »
Erstsemester

Achso, sorry, ich hätte sagen müssen, dass gerade die drucken-Methode private sein soll :-). Deshalb auch die getter und setter-Methoden um darauf zugreifen zu können :-)
Auf diesen Beitrag antworten »
eulerscheZahl

Dann brauchst du einen eine public Methode, die drucken aufruft, etwa so:
code:
1:
2:
3:
public void tuDrucken() {
    drucken(this.Zahl);
}

Nebenbei:
Es ist in Java üblich, Klassennamen groß zu schreiben (Getterundsetter) und Variablen klein (zahl).
Auf diesen Beitrag antworten »
Erstsemester

Danke Euch beiden Daumen hoch
 
Neue Frage »
Antworten »


Verwandte Themen