是的,Kotlin 支持自定義擴展。在 Kotlin 中,你可以通過擴展函數(extension functions)來實現類似外觀模式(Facade Pattern)的功能。擴展函數允許你在不修改原始類的情況下,為類添加新的功能。
以下是一個簡單的示例,展示了如何使用 Kotlin 擴展函數實現類似外觀模式的功能:
// 假設我們有一個名為 Camera 的類
class Camera {
fun takePicture() {
println("Taking a picture")
}
}
// 現在,我們將創建一個擴展函數,為 Camera 類添加一個新的方法
fun Camera.takeAPortraitPicture() {
takePicture()
println("Taking an abstract portrait picture")
}
fun main() {
val camera = Camera()
camera.takeAPortraitPicture() // 輸出: Taking a picture 和 Taking an abstract portrait picture
}
在這個示例中,我們為 Camera
類創建了一個名為 takeAPortraitPicture
的擴展函數。這個擴展函數在調用原始的 takePicture
方法之后,輸出了一條額外的消息。這樣,我們就可以在不修改 Camera
類的情況下,為其添加了新的功能。