2012-08-11 2 views
5

2010 년 JRuby에서 Jruby를 Java 소스 코드에 오버로드 된 메서드로 재정의하려고 시도 할 때 비슷한 문제가 발생했습니다. 자이 썬에서 어떻게 처리할까요? 좀 더 구체적으로 말하면 오버라이드되어 오버라이드 된 메소드 중 하나를 지정하여 나머지를 무시하거나 어떻게 오버라이드 할 수 있습니까? 동일한 이름의 자이 썬 오버라이드 메서드

+0

오버로드 된 메서드를 호출하거나 Python으로 정의하려고합니까? – delnan

+0

Java에서 오버로드 된 특정 메서드를 호출하려고하는데 자이 썬에서 재정의하고 있습니다. –

답변

1

파이썬 메소드 오버로딩을 지원하지 않습니다 감사 (하지만 지원 기본값을한다).

def my_function(paramA, paramB = None): 
    pass 

자이 썬은 단지 파이썬 구현 일 뿐이므로 나는 똑같은 말을 믿는다.

+1

오른쪽 .. 어떻게하면 오버로드 된 메서드를 지정하기 위해 기본값을 사용할 수 있습니까? 감사 –

0

자이 썬에서 특정 Java 메소드를 호출하려면 유형을 매우 가깝게 또는 정확하게 일치시켜야 할 수 있습니다.

자이 썬은 일부 type coercion을 처리하지만 원하는 방법을 선택하지 않는 경우가 있습니다.

특정 기본 클래스에서 공용 메서드를 호출하려면 BaseClass.method(self, ...)을 사용할 수 있습니다. 보호 된 메서드를 호출하려면 self.super__method(...)과 같은 메서드 이름 prefix을 사용해야합니다.