Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:modul:m320_2024:learningunits:lu02:datahiding [2026/09/11 13:17] – msuterde:modul:m320_2024:learningunits:lu02:datahiding [2026/09/11 13:32] (aktuell) – [Wann verwende ich @property und @setter] msuter
Zeile 95: Zeile 95:
 Zunächst mal sollten **alle** Attribute als ''private'' betrachtet werden. Zunächst mal sollten **alle** Attribute als ''private'' betrachtet werden.
 Soll ein fremdes Objekt Lese- oder Schreibzugriff auf ein Attribut erhalten, schreiben wir eine entsprechende Property (Lesen) und/oder Setter (Schreiben). Soll ein fremdes Objekt Lese- oder Schreibzugriff auf ein Attribut erhalten, schreiben wir eine entsprechende Property (Lesen) und/oder Setter (Schreiben).
 +
 +==== Entwerfen und Realisieren der Klasse ====
 +Beim Entwerfen einer Klasse stelle ich mir ein paar Fragen:
 +  * Dürfen fremde Objekte den Wert dieses Attributs lesen? => Ich erstelle eine Property.
 +  * Dürfen fremde Objekte den Wert dieses Attributs verändern? => Ich erstelle einen Setter.
 +
 +==== Zugriff auf andere Objekte ====
  
 Wenn ich in einem Programm auf ein Objekt zugreife, studiere ich zunächst mal seine Attribute und Methoden. Wenn ich in einem Programm auf ein Objekt zugreife, studiere ich zunächst mal seine Attribute und Methoden.
 Dabei achte ich auf einige Punkte: Dabei achte ich auf einige Punkte:
-  - Der Bezeichner des Attributs beginnt mit einem ''_'' => Dies zeigt mir, dass ich nicht direkt auf das Attribut zugreifen soll.+  - Der Bezeichner des Attributs beginnt mit einem ''_'' => Dies zeigt mir, dass ich nicht direkt auf das Attribut zugreifen soll. \\ Das ist beim Data Hiding der Normalfall.
   - Es gibt keine Property => Die Klasse möchte nicht, dass ich dieses Attribut lese.   - Es gibt keine Property => Die Klasse möchte nicht, dass ich dieses Attribut lese.
   - Es gibt keinen Setter => Ich soll das Attribut nicht direkt verändern.   - Es gibt keinen Setter => Ich soll das Attribut nicht direkt verändern.
  • de/modul/m320_2024/learningunits/lu02/datahiding.txt
  • Zuletzt geändert: 2026/09/11 13:32
  • von msuter