gpt4 book ai didi

Kotlin:如何处理 'protected' 属性暴露其内部返回类型

转载 作者:行者123 更新时间:2023-12-02 12:19:16 26 4
gpt4 key购买 nike

拥有一个基类,我希望它及其后代类仅在内部可见:

internal abstract class BaseClass
internal open class Class_A: BaseClass()
internal open class Class_B: Class_A()
Class_A列表的地方(其中可能还包含 Class_B),希望对其进行保护以使其自己的后代类访问此列表
open class User {
// got error: 'protected' property exposes its internal return type"
protected var class_A_list: List<Class_A>? = null
}

class User_descendent: User() {
// can access the class_A_list
}
如何让后代类访问某个“内部”类的实例?

最佳答案

上述错误正在保护 internal由不在内部类的同一模块中的其他类访问的类。如果允许,则不能保证类 User只会被同一模块中的类继承。
所以如果你想制作 class_A_list protected ,您必须制作 User类(class) internal .通过这样做,它将保证,User将由同一模块中的类继承。以下应该没问题:

internal open class User {
protected var class_A_list: List<Class_A>? = null
}

关于Kotlin:如何处理 'protected' 属性暴露其内部返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62503790/

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