Sobes.tech
Intern

Was ist ein Getter und ein Setter?

sobes.tech KI

Antwort von AI

Ein Getter und ein Setter sind spezielle Methoden, die in der objektorientierten Programmierung verwendet werden, um auf die Werte privater (oder geschützter) Felder einer Klasse zuzugreifen und diese zu ändern.

Getter:

  • Bietet kontrollierten Zugriff zum Lesen des Feldwerts.
  • Hat in der Regel einen Namen, der mit get beginnt (z.B. getName()).
  • Kann zusätzliche Aktionen ausführen, bevor der Wert zurückgegeben wird (z.B. Formatierung oder Validierung).

Setter:

  • Bietet kontrollierten Zugriff zum Schreiben eines neuen Werts in das Feld.
  • Hat in der Regel einen Namen, der mit set beginnt (z.B. setName()).
  • Kann Validierungen der Eingabedaten durchführen, bevor der Wert dem Feld zugewiesen wird.
  • Ermöglicht die Implementierung von Logik beim Ändern des Feldwerts (z.B. Benachrichtigung anderer Programmteile).

Beispiel in Python:

class Person:
    def __init__(self, name):
        self._name = name # Privates Feld

    # Getter
    def get_name(self):
        return self._name

    # Setter
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Ungültiger Name")

# Verwendung
person = Person("Alice")
print(person.get_name()) # Verwendung des Getters

person.set_name("Bob") # Verwendung des Setters
print(person.get_name())

person.set_name("") # Beispiel für Setter mit Validierung

Die Verwendung von Gettern und Settern fördert die Kapselung, ermöglicht die Steuerung des Zugriffs und der Modifikation von Daten innerhalb des Objekts und sorgt für eine bessere Struktur und Wartbarkeit des Codes.