반응형
Scala의 개인 및 보호 생성자
Scala에 명시적인 기본 생성자가없는 경우의 영향에 대해 궁금했습니다. 클래스 본문의 내용뿐입니다.
특히, 개인 또는 보호 된 생성자 패턴, 즉 컴패니언 객체 나 다른 클래스 또는 객체의 메서드를 통해 생성을 제어하는 것은 분명한 구현이 없을 수 있다고 생각합니다.
내가 잘못? 그렇다면 어떻게 수행됩니까?
다음과 같이 클래스 이름과 매개 변수 목록 사이에 적절한 키워드를 삽입하여 기본 생성자를 private / protected로 선언 할 수 있습니다.
class Foo private () {
/* class body goes here... */
}
Aleksander 의 대답은 정확하지만 Scala의 프로그래밍 은 추가 대안을 제공합니다.
sealed trait Foo {
// interface
}
object Foo {
def apply(...): Foo = // public constructor
private class FooImpl(...) extends Foo { ... } // real class
}
참고 URL : https://stackoverflow.com/questions/1730536/private-and-protected-constructor-in-scala
반응형
'programing tip' 카테고리의 다른 글
Facebook 앱을 기존 팬 페이지와 연결하는 방법 (0) | 2020.08.09 |
---|---|
“O (1) 액세스 시간”은 무엇을 의미합니까? (0) | 2020.08.09 |
build.sbt와 build.scala의 차이점은 무엇입니까? (0) | 2020.08.08 |
.prop ( 'checked', false) 또는 .removeAttr ( 'checked')? (0) | 2020.08.08 |
C ++에서 예외가 작동하는 방식 (뒤에서) (0) | 2020.08.08 |