我想知道为什么我必须写SUPER NEW

时间:2019-07-14 08:20:32

标签: android android-studio kotlin

我正在研究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)
}

}

1 个答案:

答案 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。