데이터 클래스는 Java의 구식 POJO를 대체하는 것으로 보입니다. 이러한 클래스가 상속을 허용 할 것으로 예상되지만 데이터 클래스를 확장하는 편리한 방법은 없습니다. 내가 필요한 것은 다음과 같습니다.
open data class Resource (var id: Long = 0, var location: String = "")
data class Book (var isbn: String) : Resource()
component1()
메소드 의 충돌로 인해 위의 코드가 실패 합니다. data
클래스 중 하나에 만 주석을 남겨두면 작동하지 않습니다.
아마도 데이터 클래스를 확장하는 또 다른 관용구가 있습니까?
UPD : 자식 자식 클래스에만 주석을 달 수 있지만 data
주석은 생성자에 선언 된 속성 만 처리합니다. 즉, 모든 부모의 속성을 선언 open
하고 무시해야합니다.
open class Resource (open var id: Long = 0, open var location: String = "")
data class Book (
override var id: Long = 0,
override var location: String = "",
var isbn: String
) : Resource()
componentN()
으로 N 번째 속성 값을 반환 하는 메서드 를 만듭니다 . 다중 선언