gpt4 book ai didi

kotlin - Kotlin覆盖父类(super class)型变量

转载 作者:行者123 更新时间:2023-12-02 12:04:36 24 4
gpt4 key购买 nike

考虑两类:

abstract class ParentRepository {}

class ChildRepository : ParentRepository {}

abstract class ParentClass {
protected abstract var repository: ParentRepository
}

class ChildClass : ParentClass {
override var repository: ChildRepository
}

最后一部分不起作用:
override var repository: ChildRepository

它会提示:
Type of 'repository' doesn't match the type of the overridden var-property 'protected abstract var repository: ParentRepository

我理解问题所在,但是我不明白为什么它不起作用– ChildRepository是ParentRepository的实例,这是我习惯于Java的常识。

最佳答案

您必须将repository声明为val。您仍然可以将其覆盖为var:

protected abstract val repository: ParentRepository

override var repository: ChildRepository

关于kotlin - Kotlin覆盖父类(super class)型变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48946342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com