【发布时间】:2016-04-20 21:42:11
【问题描述】:
我有一个名为UserManager的接口
interface UserManager {
var user:User
/* ... */
}
还有一个名为 UserManagerImpl 的类,它实现了 UserManager
class UserManagerImpl : UserManager {
override var user: User // = must provide an User object
/* ... */
}
这是我的问题:
如何允许另一个类随时在UserManager() 中设置User(即不要在属性声明旁边提供初始User 对象并让另一个类创建并提供一个User 实例)?
算一算
- 接口不能有 lateinit 属性
- 我希望
User是一个非空值,所以没有可以为空的属性(User?) - 我想使用字段访问而不是声明并在界面中使用
setUser(User)和getUser()方法
【问题讨论】: