scala学习笔记(五) 类
2015-09-15 11:05
190 查看
要点包括:
类中的字段都自动带有getter
和
setter方法
每个类都有一个主要的构造器,这构造器和类的定义写在一起,这个构造器的参数会直接成为类的字段,如下
class Point(x:Int,y:Int){
}
这样默认Point类就具备了x,y两个字段了,并且默认是val(不可修改)
调用类中的无参方法,可以写上后面的圆括号,也可以不写,一般来说入scala中的其他情况一样,如果方法不会修改对象的状态
则建议不写,否则应该加上。一种强制的方式是,对于取值方法,在定义的时候就不加括号,这样使用者也不能再加括号。
很多时候对象的取值器没有写后面的圆括号,看上去与java中访问字段一样
Scala在实现属性的,有下面四种情况
1、var foo //Scala会自动生成一个gettter
和一个setter方法
2、val foo //Scala会自动生成取值器方法
getter
3、自己定义foo
和foo_=方法
4、自己定义foo方法
Scala中属性的默认的访问方式(也就是不加任何访问关键字)是私有的
你还可以定义更加严格的访问,对象访问:
private[this]var value=0
在Scala中这样在中括号中添加可访问对象的写法很多,你也可以添加一个包名,指定让某个包可以访问
private[ddt]var value=0
Scala中的辅助构造器使用this,如下
defthis(name:String){
this()
this.name=name
}
每一个辅助构造器必须以先调用主构造器或者其他辅助构造器开始
类中的字段都自动带有getter
和
setter方法
每个类都有一个主要的构造器,这构造器和类的定义写在一起,这个构造器的参数会直接成为类的字段,如下
class Point(x:Int,y:Int){
}
这样默认Point类就具备了x,y两个字段了,并且默认是val(不可修改)
调用类中的无参方法,可以写上后面的圆括号,也可以不写,一般来说入scala中的其他情况一样,如果方法不会修改对象的状态
则建议不写,否则应该加上。一种强制的方式是,对于取值方法,在定义的时候就不加括号,这样使用者也不能再加括号。
很多时候对象的取值器没有写后面的圆括号,看上去与java中访问字段一样
Scala在实现属性的,有下面四种情况
1、var foo //Scala会自动生成一个gettter
和一个setter方法
2、val foo //Scala会自动生成取值器方法
getter
3、自己定义foo
和foo_=方法
4、自己定义foo方法
Scala中属性的默认的访问方式(也就是不加任何访问关键字)是私有的
你还可以定义更加严格的访问,对象访问:
private[this]var value=0
在Scala中这样在中括号中添加可访问对象的写法很多,你也可以添加一个包名,指定让某个包可以访问
private[ddt]var value=0
Scala中的辅助构造器使用this,如下
defthis(name:String){
this()
this.name=name
}
每一个辅助构造器必须以先调用主构造器或者其他辅助构造器开始
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- XML 文件解析--含Unicode字符的XML文件
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Spray.io搭建Rest服务
- Spray.io搭建Rest — 支持Twirl模板并部署
- 搭建hadoop/spark集群环境
- zeppelin入门使用
- ScalaMP ---- 模仿 OpenMp 的一个简单并行计算框架
- 用Scala实现延迟计算
- SBT学习 [持续更新...]
- Scala创建新的控制结构
- Scala: 一次命令式到函数式的重构
- 浅谈Scala的特质(trait)