के भीतर सामान्य संपत्ति को ओवरराइड करें, मैं कुछ सामान्य कोड लिखने की कोशिश कर रहा हूं, लेकिन Type of 'PROPERTY' is not a subtype of the overridden property
त्रुटि से छुटकारा नहीं पा सकता। मेरी कोड केकोटलिन: सबटाइप
सरलीकृत संस्करण:
abstract class BaseP<V> {
var view: V? = null
}
abstract class BaseF {
fun smth() {
pp.view = this
}
abstract val pp: BaseP<BaseF>
}
abstract class SubF: BaseF() {
abstract override val pp: BaseP<SubF>
// Error:(20, 30) Type of 'pp' is not a subtype of the overridden property 'public abstract val pp: BaseP<BaseF> defined in BaseF'
}
मैंने पाया कि त्रुटि @Suppress
एड हो सकता है लेकिन मुझे शक है यह सबसे अच्छा और एक ही रास्ता है। क्या कुछ बेहतर है?
और आखिरकार मैं समझ नहीं पा रहा हूं, क्यों subtypeA<subtypeB>
baseA<baseB>
के उप प्रकार के रूप में नहीं गिना जाता है, क्या कोई इसे समझा सकता है?
क्या लाइन त्रुटि को फेंकता है? – voddan