2012-08-11 13 views
5

Ich sah ein ähnliches Problem auf JRuby im Jahr 2010 aufgetreten, wenn wir versuchen würden, in Jruby eine Methode zu überschreiben, die ursprünglich über den Java-Quellcode überladen wurde. Wie gehen wir damit in Jython um? Genauer gesagt, wie kann ich festlegen, dass eine der überladenen Methoden überschrieben wird und die verbleibenden ignorieren oder wie kann ich sie alle überschreiben?Jython überschreiben Methode mit dem gleichen Namen

Danke

+0

Versuchen Sie, eine überladene Methode aufzurufen oder eine in Python zu definieren? – delnan

+0

Ich versuche, eine bestimmte Methode aufzurufen, die in Java überladen wurde und ich überschreibe in Jython. –

Antwort

1

Python nicht Methode Überlastung nicht unterstützt (aber es funktioniert Werte Unterstützung Standard).

Da Jython nur eine Python-Implementierung ist, glaube ich, das gleiche gilt.

+1

Richtig..Könnten Sie ein wenig mehr Details darüber, wie könnte ich die Standardwerte verwenden, um zu spezifizieren, welche überladene Methode dann? Vielen Dank –

0

Um eine bestimmte Java-Methode von Jython aus aufzurufen, müssen Sie die Typen möglicherweise sehr genau oder sogar genau anpassen.

Jython macht einige type coercion, aber es gibt Situationen, in denen dies nicht die gewünschte Methode auswählt.

Um öffentliche Methoden für bestimmte Basisklassen aufzurufen, können Sie BaseClass.method(self, ...) verwenden. Um geschützte Methoden aufzurufen, müssen Sie prefix den Methodennamen wie self.super__method(...).

Verwandte Themen