news 2026/4/15 10:25:21

kotlin 类委托

作者头像

张小明

前端开发工程师

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 13:25:36

Linux命令-kexec(从当前正在运行的内核引导到一个新内核)

kexec 是 Linux 系统中一项强大的功能,从当前正在运行的内核直接引导到一个新内核,而无需经过耗时的 BIOS/UEFI 硬件初始化过程。这在需要频繁重启(如内核开发、系统测试)或构建高可用性系统时特别有用。 ⚙️ 使用前提 在开始使用…

作者头像 李华
网站建设 2026/4/14 21:47:05

jetson orin(jetpack6.2)安装gazebo和gazebo_ros_pkgs

目前 Debian/Ubuntu 官方仅提供了基于 Amd64 架构的 Gazebo 软件包,尚未发布 Arm64 版本。因此,在 Ubuntu 22.04 系统中无法通过官方源直接获取适用于 Arm64 架构的 Gazebo 安装包。 解决办法: 1.安装gazebo (1)换源安…

作者头像 李华
网站建设 2026/4/14 13:48:21

【课程设计/毕业设计】基于Python的网络小说分析系统设计与实现【附源码、数据库、万字文档】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

作者头像 李华
网站建设 2026/4/14 21:46:58

Scrapy 自定义命令与扩展:打造专属爬虫工具

Scrapy 作为 Python 生态中最强大的爬虫框架之一,其核心优势不仅在于内置的高效爬取能力,更在于高度的可扩展性。通过自定义命令和扩展(Extensions),你可以摆脱框架默认功能的限制,打造贴合自身业务需求的专…

作者头像 李华