Klassen, Methoden und Variable können in Java mithilfe von Modifikatoren gekapselt werden. Das heisst der Zugriff auf Daten ist genau geregelt. Es gibt drei Modifikatoren:
- public Zugriff von außerhalb und innerhalb der Klasse möglich
- protected Zugriff nur innerhalb der Klasse sowie von gebildeten Objekten der Klasse
- private Zugriff nur innerhalb der Klasse möglich
Am besten wir der Sinn der Datenkapselung anhand eines Beispiels deutlich. Zum Beispiel könnte es in einem Programm für die Steuererklärung eine Eingabemaske geben bei der man sein monatliches Gehalt angibt. Das dahinterliegende Programm in Form einer Klasse enthält die int-Variable gehalt sowie eine Verbindung zu Datenbank die beim Klick auf einen Ok-Button die Variable gehalt überträgt. Der User gibt also sein Gehalt in die Eingabemaske ein und klickt ok. Angenommen er würde spaßeshalber einen Minuswert eingeben, so würde das Programm mit Sicherheit ein völlig falsches Ergebnis am Ende ausgeben. Da es sich um wichtige Daten handelt würde der Programmierer die Klasse als private deklarieren wodurch Eingaben nur noch durch sogenannte Getter und Setter, also eine Schnittstelle möglich sind. Und dieser Schnittstelle, in unserem Fall den Setter, würde überprüft werden ob ein Minuswert vorliegt und gegebenenfalls eine Fehlermeldung ausgeben.
Die Datenkapselung trägt also dazu bei gleich zu Beginn einen gewissen Wichtigkeitsgrad für die Daten festzulegen und damit von Anfang an ein großes Maß an Sicherheit und Ordnung in das Programm zu bringen.
Beispiel:
import java.util.*; private class Eingabe { int gehalt; public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Ihr Gehalt: "); String eingabe = sc.next(); setGehalt(); } private void setGehalt(int gh) { if(gehalt > 0) { this.gehalt = gh; System.out.println("Gehalt hat einen gültigen Wert"); } }