Home > Informatik > Begriffe und Konzepte > Setter-Methoden

Setter-Methoden

Definition

Setter-Methode

Eine Setter-Methode ist eine spezialisierte manipulierende Methode in der objektorientierten Programmierung. Sie dient dazu, den Wert einer einzigen Instanzvariablen gezielt zu verändern.

Beispiel

Betrachten wir dazu den folgenden Quelltext:

public class Circle
{
    private int xPosition, yPosition, radius;

    public void setXPosition(int pXPos)
    {
        xPosition = pXPos;
    }

    public void moveRight()
    {
       XPosition += 30;
    }
}

Die Methode setXPosition(int pXPos) ist eine typische Setter-Methode. Sie übernimmt den übergebenen Parameter pXPos und weist ihn der Instanzvariable xPosition zu.

Die Methode moveRight() aus der Klasse Circle (im BlueJ-Shapes-Projekt) ist dagegen keine Setter-Methode, da sie keinen Parameter übernimmt und somit keinen Wert von außen an eine Instanzvariable weitergibt. Dennoch handelt es sich um eine manipulierende Methode, da der Wert der Instanzvariablen xPosition intern verändert wird.

Kennzeichen:
  • genau eine Instanzvariable wird verändert
  • ein Parameter wird verarbeitet
  • Rückgabetyp ist meist void
Merkmale von Setter-Methoden
  • Setter-Methoden liefern keinen Wert zurück, der Rückgabetyp ist void.
  • Sie verändern den Zustand des Objekts, indem sie eine Instanzvariable verändern.
  • Der Name setzt sich aus "set" und dem Namen der Instanzvariable zusammen, die verändert werden soll, beispielsweise setRadius(int radius);
  • Setter-Methoden sind ein wichtiger Bestandteil der Datenkapselung.
Validierung

Setter-Methoden enthalten oft eine Plausibilitätsüberprüfung der Eingabewerte:

public void setWeight(double pWeight)
{
    if (pWeight < 0) 
        weight = 1;
    else 
        weight = pWeight;
}

Hier wird der Wert von pWeight überprüft, bevor er zugewiesen wird. Ungültige Eingaben werden korrigiert.

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.