Der erste Abstraktionsschritt

LI-Kurs Objektorientierung mit Python

Kursmaterialien für Informatik Oberstufe


Der erste Abstraktionsschritt

Termine zum zweiten Abschnitt

Zimmer1

Und eine Ergänzung zur Kapselung mit @property

Die Möglichkeit, Kapselung von Attributen mit @property zu realisieren, wurde nicht im Kurs behandelt.
Die "Philosophie" bei Python ist anders als bei Java: Allein ein Unterstreichungsstrich sollte reichen, er kennzeichnet allen Entwicklern "hier nicht herangehen" (oder eben nur mit Bedacht).
Im Projekt habe ich es aber mit self.__x intern umgesetzt.
Die Kapselung funktioniert.

Dennoch bleibt das merkwürdige Verhalten von Python, zur Laufzeit Objekten "Attribute" hinzufügen zu können.
Dazu in der PyShell beispielsweise stuhl.__x=200 (irgendetwas) eingeben und von stuhl mit stuhl.__x abfragen.