Home > Informatik > Begriffe und Konzepte > Getter-Methoden

Getter-Methoden

Definition

Getter-Methode

Eine sondierende Methode, die Informationen über den Zustand eines Objekts abfragt, ohne diesen Zustand zu verändern. Sie wird auch als Beobachtungsmethode oder Accessor bezeichnet.

Eine Getter-Methode ist eine spezielle sondierende Methode und liefert direkt den Wert einer einzelnen Instanzvariablen zurück.

Beispiel

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 fünf Getter-Methoden in diesem kleinen Beispiel könnte man noch in zwei Untergruppen aufteilen:

  • getXPosition(), getYPosition(), getRadius()echte Getter
  • getPerimeter(), getArea()berechnende Getter

Echte Getter-Methoden (Plain Getters oder Simple Accessors) liefern den Wert einer Instanzvariablen unverändert zurück. Solche Methoden haben in der Regel den Namen getAttributname(), also beispielsweise getRadius().

Berechnende Getter-Methoden (Calculated Getters) verarbeiten die Werte von Instanzvariablen und berechnen daraus ein Ergebnis, das sie dann zurückgeben. Ein Beispiel hierfür ist die Methode getArea(), die aus der Instanzvariable radius die Fläche eines Kreises berechnet. Ein anderes Beispiel wäre die Methode getBMI(), die aus den Instanzvariablen gewicht und groesse den BMI einer Person berechnet.

Merkmale von Getter-Methoden
  • Sie liefern einen Wert zurück
  • Sie verändern den Zustand des Objekts nicht
  • Der Rückgabetyp ist nicht void
  • Sie sind ein wichtiger Bestandteil der Datenkapselung

Quellen:

  1. Lahres et al.: Objektorientierte Programmierung, Rheinwerk Computing 2021.
  2. Barnes, Kölling: Java lernen mit BlueJ - Objects first. Pearson-Verlag 2019.
  3. Ullenboom: Java ist auch eine Insel, Rheinwerk Computing 2023.