我正在研究Kotlin的MVP模型。 在创建MainPresenter类之后,我连接了mainContract接口 我遇到了一个问题。我已修复它,但我不能自己解释,所以您可以解释为什么我必须添加“私有”吗?
MainPresenter
class mainPresenter : mainContract.Presenter {
private lateinit var mainModel: mainModel
private lateinit var view: mainContract.View
// here's private is that i ask u
override fun setView(view: mainContract.View) {
}
override fun setModel(model: mainModel) {
}
override fun onConfirm() {
}
}
//here is interface
interface mainContract {
interface Presenter {
fun setView(view: mainContract.View)
fun setModel(model: mainModel)
fun onConfirm()
}
interface View {
fun showButtonText(text: String)
}
}
答案 0 :(得分:0)
已在此处回答: https://javarevisited.blogspot.com/2012/03/private-in-java-why-should-you-always.html
甚至在这里:https://softwareengineering.stackexchange.com/questions/143736/why-do-we-need-private-variables
一个简短的答案:“您的公司都不知道该课程的工作原理,这是您必须知道的”。如果您正在编写一个应用程序,则将所有内容公开都没有真正的危害。但是,如果要编写库,则可能要保留相同的面向用户的功能,并修改非面向用户的功能-内部API。