OOP und Delegation

Objektorientierte Programmierer sprechen oft über etwas namens Delegation, wobei es sich meistens um Steuerungsobjekte handelt, die andere Objekte enthalten, an die sie Operationsanfragen weiterleiten. Die Steuerungseinheiten können sich um Verwaltungsaufgaben wie die Aufzeichnung von Zugriffen usw. kümmern. In Python wird Delegation oft mit dem _ _getattr_ _-Methodenhaken implementiert. Weil er Zugriff auf nicht vorhandene Attribute bietet, kann eine Wrapper-Klasse _ _getattr_ _ benutzen, um beliebige Zugriffe an ein umhülltes Objekt weiterzuleiten. Betrachten Sie z.B. die Datei trace.py :

class wrapper: def _ _init_ _(self, object): self.wrapped = object # speichere Objekt def _ _getattr_ _(self, attrname): print 'Trace:', ...

Get Einfüehrung in Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.