Zum Hauptinhalt springen
Veröffentlicht am

Properties in Java

Teilen:

Einführung

In Java ist die Kapselung einer der grundlegenden Pfeiler der objektorientierten Programmierung. Durch Properties, mithilfe von Getter- und Setter-Methoden, wird dieser Pfeiler konkretisiert. Diese Funktionen ermöglichen eine feinkörnige Kontrolle darüber, wie auf die Daten eines Objekts zugegriffen und wie sie verändert werden.

Warum Properties verwenden?

1. Kontrolle über die Daten

Es ist möglich, Daten zu validieren oder zu modifizieren, bevor sie gespeichert oder zurückgegeben werden.

2. Flexibilität

Interne Änderungen an Getter- und Setter-Methoden können vorgenommen werden, ohne die Art und Weise zu ändern, wie ein Objekt nach außen hin verwendet wird.

3. Sicherheit

Schränkt den direkten Zugriff auf Datenfelder ein und stellt deren Integrität sicher.

Implementierung

Eine gängige Implementierung beinhaltet die Deklaration eines privaten Feldes mit öffentlichen Methoden zum Lesen (get) und Setzen (set) der Werte.

public class Beispiel {
  private String name;

  // Getter
  public String getName() {
    return name;
  }

  // Setter
  public void setName(String name) {
    if(name != null && !name.trim().isEmpty()) {
      this.name = name;
    } else {
      throw new IllegalArgumentException("Ungültiger Name");
    }
  }
}

Best Practices beim Einsatz von Properties

  1. Datenvalidierung: Validiere die Daten immer in der Setter-Methode, bevor sie dem Feld zugewiesen werden.
  2. Konsistente Kapselung: Vermeide es, Felder direkt freizulegen. Nutze Getter und Setter.
  3. Dokumentation: Dokumentiere den Zweck und die Einschränkungen jeder Property.
  4. Einheitliche Benennung: Verwende konsistente Namenskonventionen für Properties. Üblicherweise werden Methoden verwendet, die mit "get" und "set" beginnen.

Praktisches Beispiel

Sehen wir uns ein Beispiel an, in dem wir eine Klasse Properties implementieren, die eine Person mit Vorname, Nachname und Alter repräsentiert.

package com.caffeinealgorithm.programaremjava;

public class Properties {
  private String vorname = "", nachname = "";
  private int alter = 28;

  public void setVorname(String vorname) {
    if (vorname != "")
      this.vorname = vorname;
    else
      System.out.println("Die Zeichenkette für den Vornamen darf nicht leer sein.");
  }

  public void setNachname(String nachname) {
    if (nachname != "")
      this.nachname = nachname;
    else
      System.out.println("Die Zeichenkette für den Nachnamen darf nicht leer sein.");
  }

  public int getAlter() {
    return alter;
  }

  public void information() {
    System.out.printf("Name: %s %s\n", vorname, nachname);
  }
}

Zusätzliche Tipps

  • Unveränderlichkeit: In bestimmten Szenarien kann es sinnvoll sein, schreibgeschützte Properties zu erstellen, um das Konzept der Unveränderlichkeit zu stärken.
  • Performance: Sei vorsichtig bei der Implementierung komplexer Logik in Gettern und Settern, da dies die Performance beeinträchtigen kann.
  • Berechnete Properties: Über das bloße Zurückgeben eines Feldes hinaus können Getter verwendet werden, um einen Wert auf Basis mehrerer Felder zu berechnen und zurückzugeben.

Fazit

Properties bereichern den Code, wenn sie richtig eingesetzt werden, und machen ihn sicher, flexibel und leicht wartbar. In Java sind Getter- und Setter-Methoden der Standardweg, um diese Funktionalität zu implementieren. Wer sie beherrscht, sorgt für Robustheit und Klarheit in seinen Anwendungen.

Happy coding!