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

相关推荐
geats人山人海4 分钟前
java 4继承
java·开发语言
aqiu11111116 分钟前
【C++算法打怪专栏】C++ `unordered_set` 常用初始化与插入方法总结
开发语言·c++·算法
众链网络27 分钟前
Agent 的成本大头不在“写“,在“判断“:拆解专用决策模型的三层架构
java·开发语言·人工智能·微服务
周小董29 分钟前
[1371]jdk管理工具
java·开发语言
Terra.K31 分钟前
高精度阶乘求和模板深度解析
开发语言·c++·算法
Hum8le37 分钟前
漏洞知识点《php伪协议》
开发语言·安全·web安全·php
青春逝如流水42 分钟前
Java 中线程的创建方式:从基础到现代
java·开发语言·多线程·ai文章
智码看视界43 分钟前
C++智能指针全景剖析及面试20问
开发语言·c++·深度学习·面试·内存管理·智能指针
铅笔小新z1 小时前
【C语言】深入理解指针
c语言·开发语言
余醉 | dtminer1 小时前
56%的保护效应藏在乳腺密度里:Nat Commun 高分中介孟德尔随机化全 R 管线拆解(附核心图)
开发语言·r语言·孟德尔随机化