Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
|
python:singledispatch [2020/07/27 11:58] root angelegt |
python:singledispatch [2020/07/27 13:14] (aktuell) root |
||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| * also eine Methode kann nicht mehrfach implementiert sein und anhand unterschiedlicher übergebener Parameter die passende Implementation gewählt werden | * also eine Methode kann nicht mehrfach implementiert sein und anhand unterschiedlicher übergebener Parameter die passende Implementation gewählt werden | ||
| * es ist nur überschreiben implementiert -> eine Klasse erbt von einer anderen und implementiert eine Methode die in der Eltern-Klasse schon implementiert war noch mal selbst -> es wird dann die der Kind-Klasse genommen und nicht die geerbte | * es ist nur überschreiben implementiert -> eine Klasse erbt von einer anderen und implementiert eine Methode die in der Eltern-Klasse schon implementiert war noch mal selbst -> es wird dann die der Kind-Klasse genommen und nicht die geerbte | ||
| + | * functools.singledispatch bietet eine Möglichkeit die dieses Verhalten simuliert | ||
| + | * ist ein Dekorator | ||
| + | * praktisch wird ein Objekt mit dem gewünschten Namen geschaffen, mehrere anonyme Varianten der Methode registriert (mit verschiedener Anzahl Parameter) und beim Aufruf der Methode entscheidet die Wrapper-Methode mit dem gewünschten Namen welche der anonymen Methoden aufgerufen werden muss | ||
| + | * Dokumentation: | ||