我目前正在开发一个接口,它有一个简单的函数,扩展该接口的所有类都应该实现该函数。但是这些类应该可以使用不同的函数参数进行调用,如下所示
interface IDoSomething<T> {
fun execute(vararg any: Any?): T // Make function arguments interchangeable
}
Run Code Online (Sandbox Code Playgroud)
class DoSomethingA : IDoSomething<String> {
// This is what i want
override fun execute(int: Int, boolean: Boolean): String {
println("Do something with parameters: $int, $boolean")
...
}
// This is what i need to do
override fun execute(vararg any: Any?): String {
val int = any[0] as Int
val boolean = any[1] as Boolean
println("Do something with parameters: $int, $boolean")
...
}
}
Run Code Online (Sandbox Code Playgroud)
实现此接口的其他类应该能够具有其他参数
class …
Run Code Online (Sandbox Code Playgroud)