Ein Mixin
Zunächst wird die Klasse Person
implementiert:
class Person: def __init__(self, name): self.name = name
Dann wird eine Klasse Employee
definiert, die von Person
erbt:
class Employee(Person): def __init__(self, name, skills, dependents): super().__init__(name) self.skills = skills self.dependents = dependents
Zuletzt wird eine neue Instanz von Employee
erzeugt:
if __name__ == '__main__': e = Employee( name='John', skills=['Python Programming''Project Management'], dependents={'wife': 'Jane', 'children': ['Alice', 'Bob']} )
Angenommen, Sie möchten das Employee
Objekt zu JSON konvertieren. Dazu können Sie zunächst eine neue Mixin-Klasse definieren, die das Standardmodul json
verwendet:
import json class JsonMixin: def to_json(self): return json.dumps(self.__dict__)
Ergänzen Sie dann die Klasse Employee
so, dass sie zusätzlich von JsonMixin
erbt, wodurch die Methode to_json
auf Employee
verfügbar wird:
class Employee(JsonMixin, Person): def __init__(self, name, skills, dependents): super().__init__(name) self.skills = skills self.dependents = dependents
Im Folgenden wird eine neue Instanz der Klasse Employee
erstellt und nach JSON konvertiert:
if __name__ == '__main__': e = Employee( name='John', skills=['Python Programming''Project Management'], dependents={'wife': 'Jane', 'children': ['Alice', 'Bob']} ) print(e.to_json())