大三寒假学习 spark学习 Scala面向对编程 类(getter和setter方法)
class counter { var value =0//注意这里没有private修饰符,从而让这个变量对外部可见def increment(step: Int): unit= { value +=step} def current(): Int= {value} object MyCounter{ def main(args :Array[string]){ val mycounter = new counter println(mycounter.value)//不是用getxxx获取字段的值
mycounter.value =3//不是用setxxx设置字段的值 mycounter.increment(1)//这里设置步长为1,每次增加1println(mycounter.current) } }
编译并执行这个文件得到两行结果,第一行是0,第二行是4
在java中一般会把value设置为私有变量,通过getter和setter调用,那么在scala中如何操作?
value变成私有字段以后,Scala又没有提供getter和setter方法,怎么可以访问value字段呢?解决方案是,在Scala中,可以通过定义类似getter和setter的方法,分别叫做value和value_=
class counter { private var privatevalue =e1/变成私有字段,并且修改字段名称 def value = privatevalue//定义一个方法,方法的名称就是原来我们想要的字段的名称def value_=(newValue: Int){ if(newValue > 0) privatevalue = newValue //只有提供的新值是正数,才允许修改 } def increment(step: Int): unit = { value += step}
def current(): Int = {value} } object Mycounter{ def main(args:Array[String]){ val mycounter = new counter println(mycounter.value)//打印value的初始值
mycounter.value = 3//为value设置新的值,会调用value_方法 println(mycounter.value) //打印value的新值 mycounter.increment(1)//这里设置步长为1,每次增加1println(mycounter.current) }
分类:
大三寒假
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
2021-01-10 大二寒假作业之JavaWeb