Scala 제네릭 : 클래스 유형을 사용하기위한 메서드 필요

라이언 케네디

저는 Scala를 처음 접했습니다. 메서드를 하위 클래스에서 구현해야하는 추상 클래스를 작성하려고합니다. 제네릭을 사용하여 메서드가 현재 클래스의 매개 변수를 사용하도록 강제하고 싶습니다.

abstract class MySuper{
  def doSomething:(MyInput[thisclass]=>MyResult)
}
class MySub extends MySuper{
  override def doSomething:(MyInput[MySub]=>MyResult)
}

나는 thisclass위의 내용이 유효하지 않다는 것을 알고 있지만 그것이 내가 말하고 싶은 것을 표현한다고 생각합니다. 기본적으로 구현 클래스를 참조하고 싶습니다. 이것에 대해 유효한 방법은 무엇입니까?

위트

간단한 트릭으로이 작업을 수행 할 수 있습니다.

trait MySuper[A <: MySuper[A]]{
  def doSomething(that: A)
}

class Limited extends MySuper[Limited]{
  def doSomething(that: Limited)
}

다른 접근 방식이 있지만 이것이 당신이 원하는 것을 표현하는 데 상당히 효과적이라는 것을 알았습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

제네릭 기반 클래스 필드 유형

분류에서Dev

인수 필요 클래스에서 제네릭을 사용하는 방법

분류에서Dev

생성자가 필요한 제네릭 유형을 상속하는 추상 클래스

분류에서Dev

제네릭 유형을 제한하면서 제네릭 클래스를 확장 할 수 있습니까?

분류에서Dev

제네릭 하위 클래스 메서드가 C #에서 허용 할 수있는 제한 형식

분류에서Dev

수퍼 클래스가 필요한 메서드에 제네릭을 전달하는 방법은 무엇입니까?

분류에서Dev

클래스가 다른 유사한 메서드에 제네릭을 사용하는 방법

분류에서Dev

제네릭 클래스의 메서드가 지정된 유형을 반환하지 않습니다. 왜?

분류에서Dev

제네릭 클래스의 메서드가 지정된 유형을 반환하지 않습니다. 왜?

분류에서Dev

클래스 생성자에서 제네릭 유형 사용

분류에서Dev

제네릭에 필요한 유형을 클래스에 물어볼 수 있습니까?

분류에서Dev

제네릭 클래스 유형 제약이있는 제네릭 메서드

분류에서Dev

제네릭을 사용한 C # 서브 클래 싱 : ctor에 대한 추가 제네릭 매개 변수가 필요하지만 어떻게해야합니까?

분류에서Dev

인터페이스를 사용하지 않고 추상 슈퍼 클래스에서 사용되는 제네릭 유형에서 속성을 가져 오나요?

분류에서Dev

하나의 클래스에서만 제네릭 유형 설정

분류에서Dev

정적 메서드에서 실제 제네릭 유형의 클래스 개체 가져 오기

분류에서Dev

정적 메서드에서 실제 제네릭 유형의 클래스 개체 가져 오기

분류에서Dev

하나의 제네릭 클래스는 expression <T, bool> 메서드로 제네릭 확장을 만듭니다.

분류에서Dev

기본 클래스의 메서드를 사용하여 중첩 클래스에서 제네릭 형식을 반환하는 방법

분류에서Dev

제네릭 반환 유형을 사용하여 메서드에서 구체적인 클래스의 인스턴스를 반환하는 방법

분류에서Dev

클래스의 다른 제네릭 유형의 인스턴스를 반환하는 단일 메서드

분류에서Dev

Scala foreach에서 제네릭 유형을 복원하는 방법

분류에서Dev

제네릭 클래스에 대한 필드 제약 조건-C #

분류에서Dev

한 클래스에서 다른 클래스로 제네릭 유형을 전달합니까?

분류에서Dev

제네릭 유형 인스턴스를 가져 오지 않는 제네릭 메서드 내에서 구체적인 클래스 속성 읽기

분류에서Dev

제네릭 인터페이스 속성 유형을 추출하려면 여전히 불필요한 제네릭 유형이 필요합니다.

분류에서Dev

제네릭 클래스에서 허용되는 유형을 인터페이스에서 사용하는 유형으로 제한

분류에서Dev

제네릭 유형을 서브 클래스로 캐스팅

분류에서Dev

다른 제네릭 클래스에서 유형 매개 변수로도 사용될 때 제네릭 유형을 추론 할 수 없습니다.

Related 관련 기사

  1. 1

    제네릭 기반 클래스 필드 유형

  2. 2

    인수 필요 클래스에서 제네릭을 사용하는 방법

  3. 3

    생성자가 필요한 제네릭 유형을 상속하는 추상 클래스

  4. 4

    제네릭 유형을 제한하면서 제네릭 클래스를 확장 할 수 있습니까?

  5. 5

    제네릭 하위 클래스 메서드가 C #에서 허용 할 수있는 제한 형식

  6. 6

    수퍼 클래스가 필요한 메서드에 제네릭을 전달하는 방법은 무엇입니까?

  7. 7

    클래스가 다른 유사한 메서드에 제네릭을 사용하는 방법

  8. 8

    제네릭 클래스의 메서드가 지정된 유형을 반환하지 않습니다. 왜?

  9. 9

    제네릭 클래스의 메서드가 지정된 유형을 반환하지 않습니다. 왜?

  10. 10

    클래스 생성자에서 제네릭 유형 사용

  11. 11

    제네릭에 필요한 유형을 클래스에 물어볼 수 있습니까?

  12. 12

    제네릭 클래스 유형 제약이있는 제네릭 메서드

  13. 13

    제네릭을 사용한 C # 서브 클래 싱 : ctor에 대한 추가 제네릭 매개 변수가 필요하지만 어떻게해야합니까?

  14. 14

    인터페이스를 사용하지 않고 추상 슈퍼 클래스에서 사용되는 제네릭 유형에서 속성을 가져 오나요?

  15. 15

    하나의 클래스에서만 제네릭 유형 설정

  16. 16

    정적 메서드에서 실제 제네릭 유형의 클래스 개체 가져 오기

  17. 17

    정적 메서드에서 실제 제네릭 유형의 클래스 개체 가져 오기

  18. 18

    하나의 제네릭 클래스는 expression <T, bool> 메서드로 제네릭 확장을 만듭니다.

  19. 19

    기본 클래스의 메서드를 사용하여 중첩 클래스에서 제네릭 형식을 반환하는 방법

  20. 20

    제네릭 반환 유형을 사용하여 메서드에서 구체적인 클래스의 인스턴스를 반환하는 방법

  21. 21

    클래스의 다른 제네릭 유형의 인스턴스를 반환하는 단일 메서드

  22. 22

    Scala foreach에서 제네릭 유형을 복원하는 방법

  23. 23

    제네릭 클래스에 대한 필드 제약 조건-C #

  24. 24

    한 클래스에서 다른 클래스로 제네릭 유형을 전달합니까?

  25. 25

    제네릭 유형 인스턴스를 가져 오지 않는 제네릭 메서드 내에서 구체적인 클래스 속성 읽기

  26. 26

    제네릭 인터페이스 속성 유형을 추출하려면 여전히 불필요한 제네릭 유형이 필요합니다.

  27. 27

    제네릭 클래스에서 허용되는 유형을 인터페이스에서 사용하는 유형으로 제한

  28. 28

    제네릭 유형을 서브 클래스로 캐스팅

  29. 29

    다른 제네릭 클래스에서 유형 매개 변수로도 사용될 때 제네릭 유형을 추론 할 수 없습니다.

뜨겁다태그

보관