- 寫接口
interface ExportApi {
fun export(date: String)
}
- 創(chuàng)建模板 嫉沽, 方便以后擴展功能
abstract class ExportOperator {
lateinit var exportApi:ExportApi
fun export(data:String){
exportApi = initExportApi()
exportApi.export(data)
}
abstract fun initExportApi(): ExportApi
}
3)實現(xiàn)接口的
class ExportTextApi : ExportApi {
override fun export(date: String) {
System.out.println("text $date")
}
}
4)實現(xiàn)模板類
class ExportTextFile : ExportOperator() {
override fun initExportApi(): ExportApi {
return ExportTextApi()
}
}
5)測試
@Test
fun exportTest(){
val exp = ExportTextFile()
exp.export("我是文件")
val exp2 = ExportDbApi()
exp2.export("我是文件")
}