Definition
Sondierende Methode
Eine sondierende Methode ist in der OOP eine Methode, die Informationen über den Zustand oder die Eigenschaften eines Objekts abfragt oder "sondiert", ohne diesen Zustand zu verändern.
Erläuterungen
Betrachten wir dazu den folgenden Quelltext:
public class Circle { private int xPosition, yPosition, radius; public int getXPosition() { return xPosition; } public int getYPosition() { return yPosition; } public int getRadius() { return radius; } public double getPerimeter() { return 2 * 3.14 * radius; } public double getArea() { return 3.14 * radius * radius; } }
Die Objekte der Klasse Circle besitzen drei Instanzvariablen oder Datenfelder: xPosition, yPosition und radius. Ein direkter Zugriff von außerhalb eines Circle-Objektes auf diese Datenfelder ist nicht möglich, da sie als "private" deklariert worden sind.
Die drei Methoden getXPosition(), getYPosition() und getRadius() sind sondierende Methoden, die das jeweilige Datenfeld direkt auslesen und den gespeicherten Wert unverändert zurückgeben.
Die Methoden getPerimeter() und getArea() sind ebenfalls sondierende Methoden und liefern zwei wichtige Attribute eines Kreis-Objektes zurück, nämlich den Umfang und die Fläche des Kreises. Diese Attribute werden aus den Instanzvariablen berechnet, wenn die Methoden aufgerufen werden.
Weitere Aspekte
Sondierende Methoden dienen dazu, den Wert eines Attributs oder einer Instanzvariablen zurückzugeben.
Sondierende Methoden sind ein unverzichtbarer Bestandteil der Datenkapselung in der OOP.
Eine sondierende Methode liefert stets einen Wert zurück, daher muss in Java immer der Rückgabetyp angegeben werden:
- int getRadius();
- double getArea();
- String getColor();
- boolean isVisible();
und so weiter. Eine sondierende Methode kann niemals void zurückgeben, wohl aber null.
Eine sondierende Methode hat keine Seiteneffekte. Sie verändert also nicht den inneren Zustand eines Objektes, wenn sie aufgerufen wird. Eine Methode wie
public String getColor() { xPosition += 20; return color; }
wäre also keine sondierende Methode, da sie den Wert des Datenfeldes xPosition verändert.
Dieses Beispiel ist natürlich völliger Blödsinn, soll aber das Gemeinte verdeutlichen.
Getter-Methoden
Als Getter-Methoden werden sondierende Methoden bezeichnet, die nur einen Attributwert zurückliefern, indem sie eine Instanzvariable auslesen (echte Getter-Methoden) oder aus den Instanzvariablen< einen Rückgabewert berechnen und zurückgeben (berechnende Getter-Methoden).
Auf dieser Seite können Sie mehr über diese Getter-Methoden lesen.
Quellen:
- Lahres et al.: Objektorientierte Programmierung, Rheinwerk Computing 2021.
- Barnes, Kölling: Java lernen mit BlueJ - Objects first. Pearson-Verlag 2019.
- Ullenboom: Java ist auch eine Insel, Rheinwerk Computing 2023.