寒假学习记录5_Scala面向对象编程基础1
Posted ruangongyouxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寒假学习记录5_Scala面向对象编程基础1相关的知识,希望对你有一定的参考价值。
1、Scala中的类使用class定义,方法使用def定义。
2、在Scala的方法中,不需要依靠return语句来为方法返回一个值。方法里面最后一个表达式的值就是方法的返回值。
3、Scala允许类的嵌套定义,即在一个类定义体里再定义另外一个类。
4、Scala采用类似Java中的getter和setter方法,定义了两个成对的方法value和value_=,其中的value是需要向用户暴露的字段名字。
5、在Scala语言中,方法参数前不能加上val或var关键字来限定,所有的方法参数都是不可变类型,相当于隐式地使用了val关键字限定。
6、在Scala中,对于无参数的方法,定义时可以省略括号。如果定义时省略了括号,那么在调用时也不能带有括号;如带有括号,在调用时可带可不带。
7、如果方法只有一个参数,可以省略点号,而采用中缀操作符调用方法,形式为“调用者方法名 参数”。
8、当方法的返回结果可以从最后的表达式推断出时,方法定义中可以省略结果类型。
9、如果方法体只有一条语句,还可以省略方法体两边的大括号。
10、如果方法的返回类型为Unit,可以同时省略返回结果类型和等号,但大括号不能省略。
11、若采用省略等号的定义方式,不管方法体的最后一句表达式的类型是什么,返回的结果都是类型都是Unit,因为Scala编译器可以将任何类型转换为Unit。
12、在Scala中,调用方法时可以显式地使用命名参数列表。当方法有多个默认值,而调用者只给出与默认值个数不同的参数时,这一规则将使得程序更简洁,可读性更强。
例:
...
def move (X:Double=0,Y:Double=0) {...}
...
p.move(Y=5)
13、Scala允许方法重载。只要方法的完整签名是唯一的,多个方法可以使用相同的方法名。方法签名包括方法名、参数类型列表、返回类型。
14、如果方法定义包含参数列表,方法名可以与类的字段同名。
例:
class Temp{
var x:Int =0
def x(i:int):Int=x+i
}
15、Scala允许方法的嵌套定义,即在一个方法体里再定义一个方法。
以上是关于寒假学习记录5_Scala面向对象编程基础1的主要内容,如果未能解决你的问题,请参考以下文章