码迷,mamicode.com
首页 > 其他好文 > 详细

寒假学习记录5_Scala面向对象编程基础1

时间:2020-02-05 23:13:28      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:有一个   命名   字段名   int   推断   默认   style   方法   嵌套   

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

标签:有一个   命名   字段名   int   推断   默认   style   方法   嵌套   

原文地址:https://www.cnblogs.com/ruangongyouxi/p/12267112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!