Objekt-Modell von Python 3 ========================== Ein Teil der folgenden Beispiele stammt aus dem Buch `"Python Essential Reference" `_ von David M. Beazley und werden mit freundlicher Erlaubnis des Autors in teilweise angepasster Form genutzt. Der **Attribut-Zugriff** erfolgt nach einem speziellen `Algorithmus `_. Klassendefinition ----------------- .. literalinclude:: CODE/BEAZLEY_OOP/classdef.py Sichtbarkeitsregeln im Klassen-Körper ------------------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/scope.py Vererbung (inheritance) ----------------------- .. literalinclude:: CODE/BEAZLEY_OOP/inheritance.py Mehrfachvererbung (multiple inheritance) ---------------------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/mixins.py Mixin-Beispiel - ForkingMixIn ----------------------------- **XML-RPC-Server** .. literalinclude:: CODE/PYCODE/xml_rpc_server_mixin.py **XML-RPC-Klient** .. literalinclude:: CODE/PYCODE/xml_rpc_client.py Polymorphie, Dynamische Bindung und Duck Typing ----------------------------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/duck_typing.py Statische und Klassenmethoden ----------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/static_class_methods.py Properties ---------- .. literalinclude:: CODE/BEAZLEY_OOP/properties.py Descriptoren (descriptors) -------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/descriptors.py Datenkapselung und private Attribute ------------------------------------ .. literalinclude:: CODE/BEAZLEY_OOP/private_attribs.py Objekt-Erzeugung ---------------- .. literalinclude:: CODE/BEAZLEY_OOP/object_memory.py Referenz-Zähler und Garbage Collection -------------------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/garbage_collection.py Objekt-Repräsentation und Attribut-Bindung ------------------------------------------ .. literalinclude:: CODE/BEAZLEY_OOP/attrib_access.py __slots__ --------- .. literalinclude:: CODE/BEAZLEY_OOP/slots.py Operator-Überladung ------------------- .. literalinclude:: CODE/BEAZLEY_OOP/operator_overloading.py Typen und Tests auf Klassenzugehörigkeit ---------------------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/instance_class_tests.py Abstrakte Basisklassen (ABC, Abstract Base Classes) --------------------------------------------------- .. literalinclude:: CODE/BEAZLEY_OOP/abc.py Metaklassen ----------- .. literalinclude:: CODE/BEAZLEY_OOP/metaclass.py Klassen-Dekoratoren ------------------- .. literalinclude:: CODE/BEAZLEY_OOP/class_decorator.py