我有这样的interface
:
interface ClientRequestListener {
fun onLoadStub(name: String)
fun onClientNeeded(id: String, email: String)
}
但是在一个类上实现它时,我只需要onClientNeeded
有什么方法可以避免不得不重写这两个方法?我试图创建另一个接口来扩展该接口,但仍然要求我实现这些方法。
我正在使用一个外部库,该库使用这两种方法的接口,而问题是我正在使用此方法的地方,我只需要一个方法而不是两个方法,而不是让重写做我想做的任何事情知道一种避免我不需要的额外覆盖的方法。
fun doSomeMagic(name: String, clientRequestListener: ClientRequestListener? = null) =
LibraryRequest.getClient(name)
.withListener(object : LibraryInterface() {
override fun onLoadStub(name: String) {
clientRequestListener?.onLoadStub(name)
}
override fun onClientNeeded(id: String, email: String) {
clientRequestListener?.onClientNeeded(id, email)
}
})
因此,当我使用此方法时,我会执行以下操作:
doSomeMagic("Charls", object : ClientRequestListener { override fun onClientNeeded(name: String) { //I'm not doing nothing here } override fun onClientNeeded(id: String, email: String) { //Do something with the id and email } })
所以我想做的是只叫
onClientNeeded
而不是两个都叫。
我有这样的接口:interface ClientRequestListener {fun onLoadStub(name:String)fun onClientNeeded(id:String,email:String)}但是,当在一个类上实现时,我...