Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:singledispatch

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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: https://www.blog.pythonlibrary.org/2016/02/23/python-3-function-overloading-with-singledispatch/
python/singledispatch.1595843887.txt.gz · Zuletzt geändert: 2020/07/27 11:58 von root