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

本文通过实战演示Scala中类的创建、构造函数的使用及继承的实现方式。详细介绍了主构造器、附属构造器的特点,并展示了如何使用override覆写父类方法。

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

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

215349_7vF3_1791057.jpg

创建一个Person类:

215350_iJIw_1791057.jpg

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

215354_JAWC_1791057.jpg

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

215357_qVAU_1791057.jpg

所以使用private[this]定义后的内容就无法外部使用了,这起到了非常好的保护作用;

接下来看一下类的构造函数,首先我们看一下主构造器的使用:

215358_c1g2_1791057.jpg

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

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

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

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

215359_7bXY_1791057.jpg

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

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

 

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

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

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

215401_KDB0_1791057.jpg

2,动手实战Scala中的继承

先看Class继承的例子:

215404_Vh1P_1791057.jpg

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

215407_2T9s_1791057.jpg

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

215410_ATnG_1791057.jpg

 

 

转载于:https://my.oschina.net/u/1791057/blog/349198

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值