ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

kotlin 类委托

kotlin 类委托

写个demo测试下:

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

返回列表