寒假学习记录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的主要内容,如果未能解决你的问题,请参考以下文章

寒假第五天

寒假记录2

寒假学习进度-1

寒假学习记录2_Scala解释器的使用以及Scala程序的编译执行

面向对象程序设计_tesk1_寒假伊始

2020寒假