Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| de:modul:m320_2024:learningunits:lu02:loesungen:datahiding [2026/08/30 14:05] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m320_2024:learningunits:lu02:loesungen:datahiding [2026/08/30 14:05] (aktuell) – ↷ Seite von modul:m320_2024:learningunits:lu02:loesungen:datahiding nach de:modul:m320_2024:learningunits:lu02:loesungen:datahiding verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU02.L05 - Data Hiding ====== | ||
| + | Das **Bankkonto Nr. 1** liefert bei einem Saldo von 700.0 keinen Betrag bzw. den Wert 0.0, wenn 900.0 abgehoben werden sollen. | ||
| + | Hier ist in der entsprechenden Methode '' | ||
| + | <code python> | ||
| + | def get_money(self, | ||
| + | """ | ||
| + | Es wird der durch value benannte Betrag vom Bankkonto bezogen. | ||
| + | Dabei wird sichergestellt, | ||
| + | negative wird. | ||
| + | :param value: gewünschter Bezug vom Konto | ||
| + | :return: Betrag, sofern der Saldo genügend gross ist, sonst 0. | ||
| + | """ | ||
| + | if value < self._saldo: | ||
| + | self._saldo -= value | ||
| + | return value | ||
| + | else: | ||
| + | return 0 | ||
| + | </ | ||
| + | |||
| + | Das **Bankkonto Nr. 2** liefert bei einem Saldo vom 700.0 den gewünschten Betrag von 900.0, mit dem Effekt, dass der Saldo dann auf -200.0 steht.\\ | ||
| + | Da das Attribut '' | ||
| + | |||
| + | Die Verantwortung für die Wertzusicherung wird hier dem Aufrufer übertragen. Vergisst er diese zu implementieren, | ||
| + | Dies widerspricht einem fundamentalen Grundsatz der OO-Programmierung. | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Es gilt der Grundsatz, dass die Verantwortung immer an den Ort der Zuständigkeit gehört. | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | {{tag> | ||
| + | [[https:// | ||