1. Allgemeines
Der Begriff "sondierende Methode" wird in der Schulinformatik oder Informatik-Didaktik häufig verwendet, in der Fachliteratur spricht man dagegen eher von Getter-Methoden oder kurz Gettern.
Allgemein dient eine sondierende Methode dazu, irgendeinen Wert zurückzuliefern. Eine Methode, die den "Datentyp" void zurückliefert, kann also niemals eine sondierende Methode sein. Liefert eine Methode dagegen einen Datentyp wie int, double, boolean, char oder String zurück, handelt es sich um eine sondierende Methode. Auch Methoden, die einen Array oder ein Objekt zurückliefern, können als sondierende Methoden bezeichnet werden.
2. Getter-Methoden
Schauen wir uns folgenden Quelltext an:
public Circle()
{
diameter = 30;
xPosition = 20;
yPosition = 60;
}
public int getDiameter()
{
return diameter;
}
public int getXPosition()
{
return xPosition;
}
public int getYPosition()
{
return yPosition;
}
public int getFlaeche()
{
return 3.14159 * diameter;
}
Es wird eine Klasse Circle definiert mit drei Instanzvariablen diameter, xPosition und yPosition.
Bevor wir hier im Text weitergehen, wollen wir einmal grundsätzlich klären, was der Unterschied zwischen einem Attribut und einer Instanzvariablen ist:
Instanzvariablen und Attribute
Attribute sind allgemein Eigenschaften von Objekten, Instanzvariablen sind Variablen, mit denen solche Attribute in einer Klasse realisiert werden können.
Wir sehen hier vier sondierende Methoden. Drei dieser sondierenden Methoden liefern den Wert genau einer Instanzvariable zurück, nämlich getDiameter(), getXPosition() und getYPosition(). Solche Methoden, die den Wert genau einer Instanzvariable unverändert zurückgeben, werden als direkte Getter-Methoden bezeichnet.
Direkte Getter-Methode
Eine Methode, die den Wert genau einer Instanzvariable unverändert zurückliefert.
Die Methode getFlaeche() ist ebenfalls eine sondierende Methode und könnte auch als Getter-Methode bezeichnet werden. Allerdings liefert getFlaeche() nicht den Wert einer Instanzvariable zurück, sondern berechnet aus dem Wert der Instanzvariable diameter einen neuen Wert, nämlich die Fläche des Kreises. Solche Getter-Methoden bezeichnet man in der Fachliteratur als indirekte Getter-Methoden oder berechnende Getter-Methoden.
Indirekte bzw. berechnende Getter-Methode
Eine Methode, die aus den Werten von Instanzvariablen einen neuen Wert berechnet und zurückliefert.
Nochmal zum Thema "Attribute und Instanzvariablen":
Die Fläche eines Kreises kann durchaus als Attribut eines Kreises bezeichnet werden. Auch der Umfang wäre ein Attribut eines Kreis-Objektes. Allerdings werden diese Attribute nicht durch eigene Instanzvariablen realisiert. Man kann aber Getter-Methoden schreiben, die die Instanzvariable diameter auswerten und daraus die entsprechenden Attributwerte berechnen.
Schauen wir uns ein anderes Beispiel für eine solche berechnende Getter-Methode an:
public double idealgewicht()
{
return (groesse-100) * 0.9;
}
Das Attribut Idealgewicht wird hier nicht durch eine Instanzvariable realisiert, sondern aus der Instanzvariable gewicht berechnet.
In der Abteilung "Begriffe und Konzepte der Informatik" finden Sie eine weitere Seite zu diesem Thema.