Kotlin में data class को सही तरीके से कैसे बढ़ाएं (inherit करें)? संभावित वर्कअराउंड
सभी को नमस्कार! मैंने अभी Kotlin सीखना शुरू किया है और एक अनपेक्षित समस्या का सामना किया। मुझे एप्लिकेशन में entities को मॉडल करने के लिए क्लासेस का एक hierarchy बनाना है। उदाहरण के लिए, एक बेस क्लास `User` है जिसमें `id` और `email` fields हैं, और मैं इससे एक data class `AdminUser` बनाना चाहता हूं जो `role` field जोड़ता है।
मैंने यह कोड लिखा:
```kotlin
data class User(val id: Long, val email: String)
data class AdminUser(val id: Long, val email: String, val role: String) : User(id, email)
```
लेकिन compiler एक error देता है: "data class may not inherit from a data class"। मैंने गूगल किया और समझ गया कि Kotlin में data class को दूसरे data class से inherit नहीं किया जा सकता, क्योंकि compiler ऐसी hierarchy के लिए सही `equals()`, `hashCode()`, `toString()` और `copy()` methods generate नहीं कर सकता।
लेकिन क्या करें? मेरे पास कई समान entities हैं जिनमें common fields हैं, और मैं code duplication से बचना चाहता हूं। मैंने normal classes का उपयोग करने की कोशिश की, लेकिन data class के फायदे (automatic equals, copy, d