2012-03-20 3 views
8

스칼라에서 "새로운"키워드 ("new" keyword in Scala)를 사용하거나 생략하는 것에 대한 최근 게시물에서 필자는 특정 클래스에 적용 메서드로 정의 된 동반 개체가 있다는 사실에 기인한다고 설명했습니다 그 (것)들에. 내 질문은 : 우리는 어떤 클래스/객체가 동반 객체와 메소드를 가지고 있는지 구분할 수있는 일반적인 규칙이 있는가?스칼라 : 컴패니언 개체 및 "new"키워드

미리 감사드립니다. 어리석은 질문이지만, 자바 배경에서 오는 것은 다소 혼란 스럽습니다.

+1

당신은 scaladocs를 볼 수 있습니다. 또는 IDE를 사용하는 경우 코드 완성에 표시되어야합니다. – drexin

+0

나는 이클립스를 사용하고 있는데, 내가 동반자를 사용하고 있는지 여부를 어떻게 말해야 하는가? – Bober02

+0

당신의 질문이 더 낫지 않거나 동반자를 사용해야하는 것은 아니지만, 어떤 클래스가 적용된 동반자를 가지고 있는지 구별하는 방법과 IDE는 코드 완성 목록에있는 객체를위한 C 또는 클래스를 보여줍니다. – drexin

답변

11

Scala API documentation에는 왼쪽에있는 목록에서 작은 아이콘 enter image description here이 표시됩니다. 이것을 클릭하면 언급 된 클래스 나 특성의 동반자 개체에 대한 문서로 이동합니다.

표준 라이브러리의 대부분의 컬렉션 클래스와 다른 많은 클래스에는 apply 메서드가 포함 된 컴패니언 개체가 있습니다.

사례 클래스의 경우 Scala 컴파일러는 자동으로 apply 메소드 (다른 메소드 포함)가 포함 된 컴패니언 객체를 만듭니다. scala API documentation에서

4

, 당신은 explained by Jesper로 아이콘 Object icon을 클릭하여 동반자 개체에 액세스 할 수 있습니다,하지만 당신은 메인 패널의 상단에있는 클래스/객체 기호를 클릭하여 클래스와 그 동반자 개체 사이를 전환 할 수 있습니다 :

enter image description here

관련 문제