Scala语言基础(3)


theme: fancy

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情 

前言

在vue中使用input上传图片 青训营笔记 (4).png

Scala中的方法与函数:

在Scala中,它和Java一样也是拥有方法和函数。Scala的方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说,在类中定义的函数即是方法。

方法的定义格式:

def functionName ([参数列表]):[return type]={ function body return [expr] }

Scala中函数的定义:

// 定义函数的方式1,这种方式也可以用于定义方法 scala> def add(x:Int,y:Int):Int={ return x+y } add: (x: Int, y: Int)Int scala> add(1,2) res1: Int = 3

// 定义函数的方式2,用val,并且函数必须有参数列表,这种方式最常用 scala> val add2=(a:Int,b:Int)=>a+b add2: (Int, Int) => Int = <function2> scala> add2(1,2) res2: Int = 3

Scala中匿名函数:

匿名函数即是在定义函数的时候不给出函数名。 匿名函数是使用箭头“=>”定义的,箭头的左边是参数列表,箭头右边是表达式,表达式将产生函数的结果。

Scala面向对象的特性:

面向对象的核心是对象,若想要在应用程序中使用对象,就必须得先创建一个类。类是用于描述一组对象的共同特征和行为。

image.png

继承:

Scala和Java类似,只允许继承一个父类。\ Java只能继承父类中非私有的属性和方法,而Scala可以继承父类中的所有属性和方法。\ 子类重写父类中的抽象成员变量时,可以使用override,也可不用\ 如果子类要重写一个父类中的非抽象方法,则必须使用override关键字,否则会出现语法错误。\ 如果子类要重写父类中抽象方法时,不需要使用override关键字

image.png

image.png

image.png

单例对象和伴生对象:

Scala中提供了object这个关键字用来实现单例模式,使用关键字object创建的对象为单例对象。\ 在一个源文件中有一个类和一个单例对象,若单例对象名与类名相同,则把这个单例对象称作伴生对象(companion object),这个类则被称为是单例对象的伴生类(companion class)。\ 类和伴生对象之间可以相互访问私有的方法和字段。

image.png

伴生类与伴生对象-示例

image.png

image.png

特质:

在Scala中,Trait(特质)的功能类似于Java中的接口,但Trait的功能却比Java中的接口强大。例如,Trait可以对定义字段和方法进行实现,而接口却不能。Scala中的Trait可以被类和对象(Objects)使用关键字extends来继承。

image.png

image.png

image.png

Scala的模式匹配与样例类:

模式匹配:

Scala中的模式匹配是由match case组成,它类似于Java中的switch case。\ match关键字主要用来描述一个表达式,位于表达式位置的后面。\ case关键字主要用来描述和表达式结果进行比较后的模式。

image.png

样例类:

在Scala中,使用case关键字来定义的类被称为样例类。 样例类是一种特殊的类,经过优化可以被用于模式匹配。

image.png

模式匹配与样例类相结合使用:

image.png

文件操作:

Scala不提供任何特殊文件写入能力,所以进行文件的写操作使用的是Java的I/O类中的PrintWriter或FileWriter来实现。

image.png

小结:

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷月半明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值