
"Christian" == Christian Helmbold <c.helmbold@gmx.de> writes:
Christian> wie ich gerade mit Entsetzen feststellen musste, kann Christian> man in Python gar keine Methoden überladen! Wie umgeht Christian> man diese Schwäche am elegantesten? Übergebt ihr Christian> einfach None, wenn ein Parameter leer ist? Bei normalen Christian> Methoden könnte man ja noch auf zwei Methoden mit Christian> unterschiedlichen Namen ausweichen, aber spätestens bei Christian> einem Constructor geht das nicht mehr. Ja, das ist wirklich ganz entsetzlich, nicht wahr? In meinen Augen ist das ist gleich nach dem Unfug mit der Einrückung anstatt von geschweiften Klammern, die sich nun wirklich in Milliarden von Code als bewährt herausgestellt haben, die größte Schwäche von Python. Naja, oder wenigstens nach dem Fehlen von strikter Typisierung, und generischen Typen die man damit braucht. Und vielleicht noch dem Fehlen eines semantisch von dem Rest der Sprache abweichenden Compile-time Berechnungsmodell (wie es C++ ja z.B. sehr erfolgreich mit den Templates einsetzt; Templates können nur Gurus, bei Python kann jeder Hinz und Kunz so etwas; da ist es kein Wunder daß C++-Programmierer so viel besser bezahlt werden). Lass Dich nicht von den anderen ablenken. Nur weil man das in der Praxis nicht braucht, heißt das ja noch lange nicht daß es in der Theorie auch funktioniert. Gottseidank gibt es ja eine Lösung. Sie Dir doch mal die generischen Funktionen an: http://dirtsimple.org/2004/11/generic-functions-have-landed.html Das ist eine tolle Sache. Damit kann man zwar auch sinnvolle Dinge machen aber man kann das auch (wie Überladen) dazu gebrauchen, daß man am Ende nicht mehr weiß, was passiert. Holger _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de