У меня есть 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
там вместо них обоих.