[Python-de] Überladen von Methoden

Hartmut Goebel h.goebel at goebel-consult.de
Mit Feb 16 20:18:58 CET 2005


Christian Helmbold wrote:

> wie ich gerade mit Entsetzen feststellen musste, kann man in Python gar
> keine Methoden überladen! Wie umgeht man diese Schwäche am elegantesten?

Du meinst überschreiben mit einer Methode gleichen Namens aber 
unterscheidlicher Signatur? Das ist bei Python nicht nötig.

> Übergebt ihr einfach None, wenn ein Parameter leer ist? Bei normalen

Nein, man verwendet sinnvollerwiese Keyword-Arguments und 
Default-Parameter, etwa so:


def methode1(self, arg1, arg2, arg3=42, arg4=None, arg5='ich-du-er-sie-es')

und dann:

abc.methogde1('lalla', 105)
abc.methogde1('lalla', 105, arg5='meins-deins-ihres')
abc.methogde1('lalla', 105, 9999, zfb, 'nix')


-- 
Schönen Gruß - Regards
Hartmut Goebel

| Hartmut Goebel             | IT-Security -- effizient |
| h.goebel at goebel-consult.de | www.goebel-consult.de    |