Spark面向对象编程基础

目录:

一、类

              1、类的定义

              2、类成员的可见性

              3、方法的定义

              4、构造器

二、对象

       1、单例对象

       2、单例对象——伴生对象和孤立对象

       3、apply方法和updata方法

三、继承

       1、抽象类

       2、扩展类

       3、类层次结构

       4、Option类

四、特质(trait)

       1、特质概述

       2、特质的定义

       3、把特质混入类中

       4、把多个特质混入类中

五、模式匹配

       1、match语句

       2、case类的匹配

六、包

       1、包的定义

       2、引用包成员


一、类

1、类的定义

class 类名字{     //类名字首字母大写
    //这里定义类的字段和方法
}

字段valvar关键字进行定义

方法定义:def 方法名(参数列表):返回结果类型={ 方法体}

返回结果类型为“Unit”的时候表示无返回值。

2、类成员的可见性

Scala所有成员的默认可见性为公有任何作用域内都能直接访问公有成员。

除了默认的公有可见性,Scala也提供privateprotected,其中,private成员只对本类型和嵌套类型可见;protected成员对本类型和其继承类型都可见。

为了避免直接暴露public字段建议将字段设置为private对于private字段Scala采用类似Java中的getter(读取变量值)setter(写入新的值)方法,定义了两个成对的方法valuevalue_=进行读取和修改。“value_=”完整组合在一起是个方法名称。

(在/usr/local/scala/mycode路径下,创建一个名为Counter.scala的文件)

Scala语法中有如下规范:当编译器看到以valuevalue_=这种成对形式出现的方法时,它允许用户去掉下划线_,而采用类似赋值表达式的形式

3、方法的定义

基本语法:def 方法名(参数列表):返回结果类型={ 方法体 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL编程基础和存储过程已经在前面回答过了,这里我来谈谈MySQL与其他编程语言的弊端对比。 MySQL的弊端: 1. 数据类型的限制性:MySQL只支持有限的数据类型,例如整数、浮点数、日期等,而其他编程语言支持更多的数据类型,如字符、数组、结构体等。 2. 复杂的安装和配置:MySQL需要安装和配置数据库服务器,这可能会导致一些问题,例如配置错误,安全漏洞等。 3. 数据库访问效率低下:MySQL在处理大量数据时效率较低,因为它需要对每条记录进行磁盘访问,而其他编程语言可以使用内存来加速数据访问。 其他编程语言与MySQL的对比: 1. Python:Python支持多种数据类型,包括字符串、列表、元组和字典。它也支持面向对象编程,并且有很多成熟的数据库访问库,例如SQLAlchemy和Django ORM。Python还可以使用Pandas库来处理大型数据集。 2. Java:Java是一种面向对象编程语言,它支持多种数据类型和数据结构。Java有很多成熟的数据库访问库,例如Hibernate和Spring Data JPA。Java还可以使用Apache Spark等框架来处理大量数据。 3. C++:C++是一种高性能的编程语言,它可以使用STL库来处理多种数据类型和数据结构。C++还可以使用Boost库来访问数据库。 4. JavaScript:JavaScript是一种广泛使用的编程语言,它可以使用Node.js来访问数据库。Node.js还可以使用Express.js等框架来简化应用程序开发。 总的来说,MySQL虽然是一种成熟的数据库管理系统,但在某些情况下可能不是最佳选择。其他编程语言和框架可以提供更好的性能、更多的功能和更简化的开发体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值