Kapselung: Unterschied zwischen den Versionen
Aus FI-Wiki
Keine Bearbeitungszusammenfassung |
|||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Die '''Kapselung (Encapsulation) ''' ist ein Grundprinzip der [[OOP|objektorientierten Programmierung]]. Dabei werden Daten (Attribute) einer Klasse '''versteckt''' und nur kontrolliert über Methoden (Getter/Setter) zugänglich gemacht. | |||
Die '''Kapselung''' | |||
* Direkter Zugriff auf Attribute ist schlecht wartbar und unsicher. | * Direkter Zugriff auf Attribute ist schlecht wartbar und unsicher. | ||
* 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"> | ||
Aktuelle Version vom 12. Januar 2026, 13:59 Uhr
Die Kapselung (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());
