网站大量收购闲置独家精品文档,联系QQ:2885784924

第2课:Scala面向对象彻底精通和Spark源码阅读-杭州-Frank.pdf

第2课:Scala面向对象彻底精通和Spark源码阅读-杭州-Frank.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
YY永久免费课堂每晚8点Spark课程准时开讲。更 DT大数据梦工厂IMF 内容,请关注微信公众号:DT_Spark 第二课:Scala面向对象彻底精通及Spark源码阅读 杭州-Frank 一、 Scala中的类、object实战详解 Scala是纯面向对象语言。谈面向对象,一定要谈类,类把数据和代码封装起来。 类 跟Java一样,Scala也是用关键字class来定义类。示例如下: scalaclassHiScala{ |privatevarname=Spark |defsayName(){println(name)} |defgetName=name |} definedclassHiScala 以上代码,定义了一个名称为HiScala的类,默认情况下是public级别,所以public关键字 可以不写。  定义了一个属性name,为可变变量,访问级别为private,在类的外面不能被访问!  定义一个函数:sayName  定义一个函数:getName 在Scala 中,变量与类中的方法是同等级的,可以直接相互赋值。 创建类实例 scalavalscal=newHiScala scal:HiScala=HiScala@1c655221 此时, 就是 类的一个实例。但是,在 中我们一边不会用 来创建类的 // scal HiScala Scala new 实例,而是用apply工厂方法模式来创建。 调用 的 方法,用于打印出 成员的值。 // scal sayName name scalascal.sayName() Spark //由于sayName没有传参数,所以可以把括号去掉,这样更简洁。 scalascal.sayName 1 14/ YY永久免费课堂每晚8点Spark课程准时开讲。更 DT大数据梦工厂IMF 内容,请关注微信公众号:DT_Spark Spark //调用getName方法,访问name成员的值 scalascal.getName res2:Strin =Spark //此时确实返回了name的值。 //该示例中name是私有的,所以不能直接访问scal实例的name,如下访问就出错了。 scala console:10:error:variablenameinclassHiScalacannotbeaccessedinHiScala ^ get与set 的 和 跟 的 和 有很大的差异。 Scala get set Java get set 在Scala 中,如果给变量前定义了private,那么Scala解释器会给这个变量自动生成private 的 和 方法; get set 如果变量前没有定义了 ,那么解释器会给这个变量自动生成 的 和 方法, private public get set 这样就可以直接访问该类的实例对象的成员变量,实际访问的是它的 和 方法。 set get //我们重新改造上面的类,把属性name前面的private访问级别去掉。 scalaclassHiScala{ | varname=Spark //去掉了private关键字 | defsayName(){println(name)} | defgetName=name | } definedclassHiScala scalavalscal=newHiS

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档