Buffl

Kapselung

MV
by Melina V.

Was ist Kapselung?

  • Objekte bilden Dinge der realen Welt ab. Sie haben Eigenschaften und Funktionen. Beispiel: Person mit Eigenschaft Geburtstag und Funktion gruesse().

  • In der Objektorientierung nennt man die Eigenschaften Attribute und die Funktionen Methoden.

  • Klassen sind Baupläne für Objekte. Sie definieren, welche Attribute und Methoden jede Instanz der Klasse – das Objekt – hat. Die konkreten Ausprägungen der Werte der Attribute – der Zustand des Objekts – kann (muss aber nicht) bei jedem Objekt unterschiedlich sein.

  • Objekte müssen zu jeder Zeit in einem gültigen Zustand sein, d.h. die Attribute müssen gültige Werte haben.

    • Jedes Objekt ist dafür verantwortlich, seinen gültigen Zustand beizubehalten. Daher muss es den Zugriff auf seine Attribute einschränken können.

  • Außerdem sollte ein Objekt nicht nach außen hin preisgeben, wie es funktioniert, sondern nur, was es macht.

    • Dieses Prinzip wird auch Geheimnisprinzip genannt.

  • Um den Zugriff auf Attribute und Methoden zu steuern, können Sichtbarkeitsmodifizierer verwendet werden.

    • private = nur die Klasse selbst hat Zugriff, protected = die Klasse selbst und von ihr abgeleitete Klassen haben Zugriff, public = alle haben Zugriff.

  • Der Zugriff auf Attribute von außen sollte ausschließlich über spezielle Methoden – Getter und Setter – möglich sein.

    • Setter erlauben die Prüfung der zu setzenden Werte und sorgen damit dafür, dass das Objekt immer in einem gültigen Zustand ist. Beispiel: Geburtsdatum wird vor dem Setzen auf ein gültiges Datum ab 01.01.1900 geprüft.

    • Getter erlauben die Berechnung von Werten, anstatt sie in Attributen abzulegen. Beispiel: Alter einer Person wird zur Laufzeit anhand des Attributs Geburtsdatum ermittelt.


Author

Melina V.

Information

Last changed