Kapselung: Unterschied zwischen den Versionen
Aus FI-Wiki
Keine Bearbeitungszusammenfassung |
|||
| Zeile 1: | Zeile 1: | ||
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. | 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. | ||
| Zeile 6: | Zeile 4: | ||
* Getter/Setter ermöglichen z. B. Validierung, Zugriffsbeschränkung oder Logging. | * Getter/Setter ermöglichen z. B. Validierung, Zugriffsbeschränkung oder Logging. | ||
== Beispiel ohne Kapselung (nicht empfohlen) == | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
| Zeile 16: | Zeile 14: | ||
k.name = "Anna"; // Kein Schutz! </syntaxhighlight> | k.name = "Anna"; // Kein Schutz! </syntaxhighlight> | ||
== Beispiel mit Kapselung durch Getter/Setter (empfohlen) == | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
| Zeile 34: | Zeile 32: | ||
} </syntaxhighlight> | } </syntaxhighlight> | ||
== Verwendung == | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
Version vom 12. Januar 2026, 13:58 Uhr
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());
