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())