Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
2010 年に JRuby で同様の問題が発生したのを見ました。これは、Java ソース コードで最初にオーバーロードされたメソッドを Jruby でオーバーライドしようとしたときに発生しました。Jython ではこれをどのように扱うのでしょうか? より具体的には、オーバーロードされているメソッドの 1 つをオーバーライドして残りを無視するように指定するにはどうすればよいですか、またはそれらすべてをオーバーライドするにはどうすればよいですか?
ありがとうございました
Python はメソッドのオーバーロードをサポートしていません (ただし、デフォルト値はサポートしています)。
def my_function(paramA, paramB = None): pass
Jython は単なる Python の実装であるため、同じことが言えると思います。
Jython から特定の Java メソッドを呼び出すには、型を非常に厳密に、または完全に一致させる必要がある場合があります。
Jython は何らかの型強制を行いますが、必要なメソッドが選択されない場合があります。
特定の基本クラスでパブリック メソッドを呼び出すには、BaseClass.method(self, ...). 保護されたメソッドを呼び出すには、メソッド名の前にself.super__method(...).
BaseClass.method(self, ...)
self.super__method(...)