kotlin 类委托

写个demo测试下:

Kotlin 复制代码
interface IWorker {
    fun work(): String
}

class Worker(val name: String): IWorker { // 工人
    override fun work(): String {
        return "我起早贪黑工作。"
    }
}

class Contractor(val name: String, work: IWorker) : IWorker by work // Contractor是包工头,委托工人做事

fun main() {
    val work = Worker("杨白劳") // 工人杨白劳
    val contractor = Contractor("黄世仁" ,work) // 包工头黄世仁
    println("我是${contractor.name}, ${contractor.work()}")
}

打印:

ok. 黄世仁工作,实际啥也没干,调用的是杨白劳。可见委托类在调用函数时啥也不做,直接调用的被委托对象的函数。

相关推荐
-银雾鸢尾-5 小时前
C#中的拓展方法
开发语言·c#
guodingdingh7 小时前
软件开发工作问题总结0718
java·开发语言·数据库
优橙教育9 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
SeaTunnel11 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
碎光拾影11 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
Marst Code12 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?
开发语言·python
Miao1213112 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
CRMEB系统商城13 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源
keyipatience14 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
我的xiaodoujiao14 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具