Kapselung: Unterschied zwischen den Versionen

Aus FI-Wiki
 
Zeile 24: Zeile 24:
     public String getName() {
     public String getName() {
         return name;
         return name;
}
    }


public void setName(String name) {
    public void setName(String name) {
    if (name != null && !name.isEmpty()) {
        if (name != null && !name.isEmpty()) {
        this.name = name;
            this.name = name;
        }
     }
     }
}


} </syntaxhighlight>
} </syntaxhighlight>

Aktuelle Version vom 27. Oktober 2025, 14:40 Uhr

Kapselung

Die Kapselung (engl. Encapsulation) ist ein Grundprinzip der objektorientierten Programmierung. Dabei werden Daten (Attribute) einer Klasse versteckt und nur kontrolliert über Methoden (Getter/Setter) zugänglich gemacht.

  • Direkter Zugriff auf Attribute ist schlecht wartbar und unsicher.
  • Getter/Setter ermöglichen z. B. Validierung, Zugriffsbeschränkung oder Logging.

Beispiel ohne Kapselung (nicht empfohlen)

public class Kunde {
    public String name;
}

Kunde k = new Kunde();
k.name = "Anna";  // Kein Schutz!

Beispiel mit Kapselung durch Getter/Setter (empfohlen)

public class Kunde {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        if (name != null && !name.isEmpty()) {
            this.name = name;
        }
    }

}

Verwendung

Kunde k = new Kunde();
k.setName("Anna");
System.out.println(k.getName());