Kapselung: Unterschied zwischen den Versionen

Aus FI-Wiki
Die Seite wurde neu angelegt: „== 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) === <s…“
 
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Kapselung ==
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''' (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.
* 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) ===
== 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) ===
== Beispiel mit Kapselung durch Getter/Setter (empfohlen) ==


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 22: Zeile 20:
     private String name;
     private String name;


```
    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>


=== Verwendung ===
== 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());