Klassen sind Objekte: Generische Objektfabriken

Da Klassen Objekte sind, kann man sie leicht in einem Programm herumreichen, sie in Datenstrukturen speichern usw. Man kann Klassen auch an Funktionen übergeben, die beliebige Arten von Objekten generieren. Solche Funktionen werden in OOP-Design-Kreisen gelegentlich Fabriken (engl. Factories) genannt. In statisch typisierten Sprachen wie C++ stellen sie eine große Herausforderung dar, aber in Python sind sie nahezu trivial: Mit der apply-Funktion und -Syntax aus Chapter 14 kann man jede Klasse mit einer beliebigen Anzahl von Konstruktor-Argumenten in einem Schritt aufrufen, um jede beliebige Instanz zu erzeugen:[58]

def factory(aClass, *args): # Tuple mit var. Argumenten return apply(aClass, args) ...

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.