8
ขยายคลาสข้อมูลใน Kotlin
คลาสข้อมูลดูเหมือนจะแทนที่ POJO ที่ล้าสมัยใน Java ค่อนข้างคาดหวังว่าคลาสเหล่านี้จะอนุญาตให้มีการสืบทอด แต่ฉันไม่เห็นวิธีที่สะดวกในการขยายคลาสข้อมูล สิ่งที่ฉันต้องการคือสิ่งนี้: open data class Resource (var id: Long = 0, var location: String = "") data class Book (var isbn: String) : Resource() รหัสข้างต้นล้มเหลวเนื่องจากการปะทะกันของcomponent1()วิธีการ การเพิ่มdataคำอธิบายประกอบทิ้งไว้ในคลาสใดคลาสหนึ่งเท่านั้นก็ไม่ทำงานเช่นกัน อาจมีสำนวนอื่นในการขยายคลาสข้อมูลหรือไม่ UPD: ฉันอาจใส่คำอธิบายประกอบเป็นคลาสย่อยของเด็กเท่านั้น แต่dataคำอธิบายประกอบจะจัดการกับคุณสมบัติที่ประกาศใน Constructor เท่านั้น นั่นคือฉันจะต้องประกาศคุณสมบัติของผู้ปกครองทั้งหมดopenและแทนที่พวกเขาซึ่งน่าเกลียด: open class Resource (open var id: Long = 0, open var location: …