是的,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
类的情况下,为其添加了新的功能。