2012-08-11 16 views
5

Vi un problema similar en JRuby en 2010 cuando intentamos anular en Jruby un método que se sobrecargó originalmente en el código fuente de Java. ¿Cómo lidiamos con esto en Jython? Más específicamente, ¿cómo puedo especificar que uno de los métodos que están sobrecargados sea anulado e ignorar el resto o cómo puedo anularlos todos?Método de anulación de Jython con el mismo nombre

Gracias

+0

¿Estás intentando llamar a un método sobrecargado o definir uno en Python? – delnan

+0

Estoy tratando de llamar a un método específico que estaba sobrecargado en Java y estoy anulando en Jython. –

Respuesta

1

Python no soporta la sobrecarga de métodos (pero sí los valores por defecto de apoyo).

def my_function(paramA, paramB = None): 
    pass 

Desde Jython es meramente una implementación de Python, I belive el mismo representa la verdad.

+1

derecho ... ¿podría entrar un poco más en detalles sobre cómo podría usar los valores predeterminados para especificar qué método sobrecargado? Gracias –

0

Para llamar a un método Java específico desde Jython, puede que tenga que hacer que los tipos coincidan muy de cerca, o incluso exactamente.

Jython hace algunos type coercion, pero hay situaciones en las que esto no selecciona el método que desea.

Para llamar a métodos públicos en clases base específicas, puede usar BaseClass.method(self, ...). Para llamar a métodos protegidos debe prefix el nombre del método como self.super__method(...).

Cuestiones relacionadas