我正在开发一个android应用程序(Parser Application),其中我们有一个解析器类,负责实际解析工作。
我想为所有想使用API的人提供一个扩展点(除了我将作为API一部分提供的一些常规解析之外)。这个想法是创建一个接口,如果有人想将其类声明为解析器类,那么他们要做的就是(声明)实现该接口。
然后,我想获取所有类及其实例的列表,以实现该解析器。之后,我要调用基本接口的方法,该方法将由用户实现。
Base Interface
interface BaseParser {
fun parser(key:String):String
}
Implementation
class MyParser: BaseParser {
override fun parser(key:String):String {
// actual implementation
}
我只想获取实现BaseParser的所有类的实例(在本例中为MyParser),并在运行时调用方法parser(key)。
编辑:已添加代码