【Kotlin设计模式】Java适配器模式在Kotlin的实现

Kotlin设计模式.Java适配器模式在Kotlin的实现

适配器模式

1.类适配器模式

kotlin

interface Target {
	fun request1( )
	fun request2( )
}

open class Adaptee {
	fun request1( ) {
		println("Adaptee : request1")
	}
}

class AdapterClass : Adaptee() , Target{ 
/ **
*由于源类Adaptee没有方法request2()
*因此适配器需要补充上这个方法
*/
override fun request2() {
	println("Adapte rClass: request2")
}

fun main() {
	//类适配器模式
	val adapterClass = AdapterClass( )
	adapterClass.apply { this: AdapterClass
		request1( )
		request2( )
	}
}

2.对象适配器

class AadapterObj(private var adaptee: Adaptee): Target{
	override fun request1() {
		adaptee. request1()
	}
	
	override fun request2() {
		println("AdapterObj: request2()")
	}
}

fun main() {
	//对象配器模式
	val adaptee = Adaptee( )
	val adapterObj = Adapter0bj (adaptee )
	adapterObj.apply {
		request1( )
		request2( )
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42473228/article/details/126056803