- 写接口
interface ExportApi {
fun export(date: String)
}
- 创建模板 , 方便以后扩展功能
abstract class ExportOperator {
lateinit var exportApi:ExportApi
fun export(data:String){
exportApi = initExportApi()
exportApi.export(data)
}
abstract fun initExportApi(): ExportApi
}
3)实现接口的
class ExportTextApi : ExportApi {
override fun export(date: String) {
System.out.println("text $date")
}
}
4)实现模板类
class ExportTextFile : ExportOperator() {
override fun initExportApi(): ExportApi {
return ExportTextApi()
}
}
5)测试
@Test
fun exportTest(){
val exp = ExportTextFile()
exp.export("我是文件")
val exp2 = ExportDbApi()
exp2.export("我是文件")
}
网友评论