zoukankan      html  css  js  c++  java
  • 【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覆写父类的方法:

     

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

     

     

     

     

  • 相关阅读:
    redis使用
    ZooKeeper之service discovery
    Git环境配置
    Windows 下MySql Replication(复制)配置
    Django框架简介(MVC框架和MTV框架)
    ftp连接服务器失败||或者Xshell链接错误:Could notconnect to '192.168.18.128' (port 22): Connection failed
    git
    roles
    ansible 中的模块
    ansible 中的 playbook 模块
  • 原文地址:https://www.cnblogs.com/spark-china/p/4124940.html
Copyright © 2011-2022 走看看