当前位置: 首页 > news >正文

Scala的隐式类

package hfd
//隐式类
//任务:给之前的BaseUser添加新的功能,但是不要直接去改代码
//思路:把BaseUser通过隐式转换,改成一个新类型,而这个新类型中有这新的方法
//implicit class===一个隐式转换函数+类
//作用:拓展已有类的功能,而不需要去修改之前类的代码
object Test38_1 {implicit class PowerUser(b:BaseUser) {def updateUser(){println("updateUser")}}
//    def transform(b:BaseUser):PowerUser={
//      new PowerUser()
//    }
//10年,小王写的代码class BaseUser{def showUser():Unit={println("showUser")}}def main(args: Array[String]): Unit = {val u1=new BaseUser()u1.showUser()// transform(u1).updateUser()//希望要添加的新功能u1.updateUser()//希望要添加的新功能}
}
http://www.lryc.cn/news/505022.html

相关文章:

  • 常见软件设计模式介绍:三层架构、MVC、SSM、EDD、DDD
  • Springboot技术栈常见问题及搭建步骤
  • session 共享服务器
  • vue2:v-for实现的el-radio-group选中时显示角标,并自定义选中按钮的字体颜色和背景色
  • 【Linux】-学习笔记10
  • 鸿蒙NEXT开发案例:九宫格随机
  • 深度解析:RTC电路上的32.768KHz时钟的频偏及测试
  • Scala的泛型
  • OpenGL ES详解——glUniform1i方法是否能用于设置纹理单元
  • 探索 Janus-1.3B:一个统一的 Any-to-Any 多模态理解与生成模型
  • 论文信息搜集
  • 实操给自助触摸一体机接入大模型语音交互
  • 图表的放大和刷新功能
  • SQLServer利用QQ邮箱做SMTP服务器发邮件
  • flutter 多文本,其中文本下划线往下移动
  • 7.OPEN SQL
  • Python轻松获取抖音视频播放量
  • YOLOv8目标检测(三*)_最佳超参数训练
  • SpringBoot SPI
  • uniappp配置导航栏自定义按钮(解决首次加载图标失败问题)
  • 【Apache paimon】-- 集成 hive3.1.3 异常
  • 基于docker部署Nacos最新版本-国内稳定镜像
  • 云计算中的Hive操作详解
  • UE4_控件蓝图_制作3D生命血条
  • 11篇--图像边缘检测
  • 宝塔SSL证书申请失败,报错:申请SSL证书错误 module ‘OpenSSL.crypto‘ has no attribute ‘sign‘(已解决)
  • (已开源) 详解4D Radar数据集K-Radar
  • 基于RK3588机器人控制器+3D视觉传感器的送餐机器人解决方案
  • 基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 数据处理
  • Microi吾码|开源低代码.NET、VUE低代码项目,表单引擎介绍