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

kotlin get set

在 Kotlin 中,如果想实现一个类的属性可以从外部读取但不能修改,可以使用自定义的 getter 和 private setter。以下是一个示例代码:

class MyClass {var myProperty: Stringprivate set // 使 setter 私有化,外部无法修改get // 默认 getterconstructor(initialValue: String) {myProperty = initialValue}
}fun main() {val myObject = MyClass("Initial Value")println(myObject.myProperty) // 可以读取属性a// myObject.myProperty = "New Value" // 这行代码将会导致编译错误,因为 setter 是私有的
}

在这个示例中,myProperty 的 getter 是公共的,因此可以从类的外部读取该属性。但是,setter 是私有的,因此无法从外部修改该属性。

如果需要进一步自定义 getter 或 setter,也可以这样做:

class MyClass {var myProperty: Stringprivate set(value) {field = value // 自定义 setter}get() = field // 自定义 getterconstructor(initialValue: String) {myProperty = initialValue}
}fun main() {val myObject = MyClass("Initial Value")println(myObject.myProperty) // 可以读取属性// myObject.myProperty = "New Value" // 这行代码将会导致编译错误,因为 setter 是私有的
}
http://www.lryc.cn/news/400689.html

相关文章:

  • Flask包算法服务
  • Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念
  • 深度解析:景区客服系统如何助力旅游业可持续发展
  • 风险评估:IIS的安全配置,IIS安全基线检查加固
  • uniapp 截取两条数据 进行页面翻页滚动
  • python笔记(转存ipynb)------1
  • excel系列(二) - 利用 easypoi 快速实现 excel 文件导入导出
  • 邀请函|2024第八届中国太阳能电池浆料与金属化技术展
  • 图像边缘检测:技术原理与算法解析
  • 【Python星启航】少儿编程精英启蒙之旅 - 大纲
  • MATLAB的mat文件转换成json文件
  • STM32第九课:STM32-基于标准库的42步进电机的简单I/O控制(附电机教程,看到即赚到)
  • 文件安全传输系统,如何保障信创环境下数据的安全传输?
  • 论文分享|AAAI2024‘北航|用大语言模型缩小有监督和无监督句子表示学习的差距
  • vue3相比于vue2有哪些新特性?
  • Gooxi受邀参加第三届中国数据中心服务器与设备峰会
  • 3个实现前端节流的方法,附代码。
  • uniapp 微信小程序根据后端返回的文件链接打开并保存到手机文件夹中【支持doc、docx、txt、xlsx等类型的文件】
  • 一群追星星的人,对AI的盼与怕
  • 同步IO、异步IO以及五种网络IO模式
  • IP-Guard日志数据上传至 SYSLOG 服务器操作指南
  • 线程安全(二)synchronized 的底层实现原理、锁升级、对象的内存结构
  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十四)-无人机操控关键绩效指标(KPI)框架
  • 数电基础 - 半导体存储
  • 校园工会体育报名小程序的设计
  • 2024Datawhale AI夏令营---基于术语词典干预的机器翻译挑战赛--学习笔记
  • 手机下载APP (uniapp/vue)
  • python数据可视化(5)——绘制饼图
  • 实习随笔【iviews的Select实现‘与全部互斥’的多选】
  • 网站架构核心要素