您的位置:首页 > 移动开发 > Objective-C

Programming in scala学习笔记(三)Classes and Objects

2015-08-23 23:34 525 查看

1. 任何方法中传入的形参都是val的,是不能在方法中改变它的。





2. 如果函数体很小的话可以去掉大括号



注意上面的private,默认不加是public





3. 分号分隔语句

如果语句在同一行的话,可以用分号分隔





4. Singleton Objects

Scala跟java不一样,没有static成员,然而,scala有Object,Object的定义类似于class。就是把class换成object,首字母都是小写。

当发现object和class重名时,这个object就称为companion object(伴随对象),这个class就称为object的companion class(伴随类),伴随类和伴随对象必须同时写在一个源文件中。两个可公用对方的private成员。

示例程序如下:

============================================





=======================================================

上面代码中有一行:val acc =new ChecksumAccumulator;这里用了new,说明这里是实例化一个class的对象,object是不能用new实例化的但是object可以继承父类和trait。且两者可同时继承。

调用object中的属性或者方法直接写object的名字打点”.”调用,跟java里面static元素调用是一样一样一样的。



没有与class同名的object叫做standalone object,用法主要有:

l 作为一个实用的工具函数集合;

l 作为一个scala的应用入口。



5. Scala application(scala应用程序)

为了能够执行scala的应用程序,必须写入口代码。

入口代码的特征:

Standalone Object中;

定义一个main主函数;

主函数参数类型是Array[String],无返回值(返回值是Unit类型)



这个函数入口用到了另外一个object——CheckSumAccumulator,这个object是伴随object,要将伴随的class和object写到一个文件中,然后跟object Summer一起编译。编译的语句如下:





用scalac或者fsc(for fast scala compiler)编译。

编译完之后,执行语句:





6.Scala application Trait

继承trait——Application,然后在object中写自己的代码就可以了。





这个有个缺点,就是不能往里传参。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: