在Kotlin中,适配器模式可以通过创建一个通用的适配器类来实现复用。这个通用适配器类可以适用于多种类型的对象,只需传入不同的类型参数即可。下面是一个简单的示例:
首先,定义一个接口,用于规范需要适配的对象:
interface Adaptee { fun request(): String }
然后,创建一个通用适配器类,实现Adapter
接口,并持有一个Adaptee
类型的对象:
class GenericAdapter(private val adaptee: T) : Adapter { override fun request(): String { return adaptee.request() } }
接下来,创建一个Adapter
接口:
interface Adapter { fun request(): String }
现在,可以为不同类型的对象创建适配器实例,实现适配器复用:
class ConcreteAdapteeA : Adaptee { override fun request(): String { return "ConcreteAdapteeA request" } } class ConcreteAdapteeB : Adaptee { override fun request(): String { return "ConcreteAdapteeB request" } } fun main() { val adapteeA = ConcreteAdapteeA() val adapteeB = ConcreteAdapteeB() val adapterA = GenericAdapter(adapteeA) val adapterB = GenericAdapter(adapteeB) println(adapterA.request()) // 输出: ConcreteAdapteeA request println(adapterB.request()) // 输出: ConcreteAdapteeB request }
在这个示例中,我们创建了一个通用适配器GenericAdapter
,它可以适用于任何实现了Adaptee
接口的对象。当我们需要为不同类型的对象创建适配器时,只需传入相应的对象实例即可。这样就实现了适配器复用。