【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第2小节:动手实战Scala面向对象编程(1)

1, 动手实战Scala中类的使用

为方便后续代表的编写,我们创建一个新的代码工作区:

创建一个Person类:

 

其中的“_”是PlaceHolder,下面我们看一下如果使用该类:

下面看一下private[this]的使用:

所以使用private[this]定义后的内容就无法外部使用了,这起到了非常好的保护作用;接下来看一下类的构造函数,首先我们看一下主构造器的使用:

可以发现Scala中类的主构造器有以下特点:

1, 主构造器直接跟在类名后面,主构造器中的参数会被编译成类的字段;

2, 主构造器执行的时候会执行类中的所有不包含在方法体中的语句;

接下来我们把主构造器中的name前面的val去掉运行一下:

可以发现此时运行出错,这说明Scala语言的主构建函数的第三点非常重要的特性。

3,如果在 主构造器函数的参数中没有用val或者var去声明变量,那此时的变量是private[this]级别的,只能够被类内部访问;

接下来我们看以下附属构造器:

1, 附属构造器是用this来声明的;

2, 附属构造器中必须调用主构造或者其它附属构造器;

2,动手实战Scala中的继承

先看Class继承的例子:

下面看一下使用override覆写父类的方法:

 

接下来看一下字段的覆写:

 

 

 

 

posted on 2014-11-26 21:18  spark亚太研究院  阅读(158)  评论(0编辑  收藏  举报

导航