Java Encapsulation erklärt: Sichere Datenkapselung & Kontrolle
Was ist Encapsulation?
Encapsulation (Kapselung) ist eines der vier fundamentalen OOP-Konzepte. Die anderen drei sind Vererbung, Polymorphie und Abstraktion.
Encapsulation in Java ist ein Mechanismus, um die Daten (Variablen) und den Code, der auf die Daten wirkt (Methoden), als eine einzelne Einheit zusammenzufassen. Bei der Encapsulation werden die Variablen einer Klasse vor anderen Klassen verborgen und können nur über die Methoden ihrer eigenen Klasse zugegriffen werden. Daher ist es auch als Data Hiding (Datenverbergung) bekannt.
Um Encapsulation in Java zu erreichen:
- Deklarieren Sie die Variablen einer Klasse als
private. - Stellen Sie öffentliche
setter- undgetter-Methoden bereit, um die Variablenwerte zu ändern und anzuzeigen.
Beispiel: Encapsulation in Java erreichen
/* Dateiname: EncapTest.java */
public class EncapTest {
private String name;
private String idNum;
private int age;
public int getAge() { return age; }
public String getName() { return name; }
public String getIdNum() { return idNum; }
public void setAge(int newAge) { age = newAge; }
public void setName(String newName) { name = newName; }
public void setIdNum(String newId) { idNum = newId; }
}
Die öffentlichen setXXX()- und getXXX()-Methoden sind die Zugriffspunkte der Instanzvariablen der EncapTest-Klasse. Normalerweise werden diese Methoden als getters und setters bezeichnet. Daher sollte jede Klasse, die auf die Variablen zugreifen möchte, dies über diese Getter und Setter tun.
Die Variablen der EncapTest-Klasse können mit dem folgenden Programm zugegriffen werden:
/* Dateiname: RunEncap.java */
public class RunEncap {
public static void main(String args[]) {
EncapTest encap = new EncapTest();
encap.setName("James");
encap.setAge(20);
encap.setIdNum("12343ms");
System.out.print("Name: " + encap.getName() + " Age: " + encap.getAge());
}
}
Ausgabe:
Name: James Age: 20
Vorteile der Encapsulation
- Die Felder einer Klasse können read-only (nur lesbar) oder
write-only(nur schreibbar) gemacht werden. - Eine Klasse kann die volle Kontrolle darüber haben, was in ihren Feldern gespeichert wird.
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java-Kapselung meistern: Praktischer Leitfaden zum Datenverbergen
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
- Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen