目录
一、面向对象编程
解决问题,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题。
对象:用户
行为:登录、连接JDBC、读取数据库
属性:用户名、密码
对象的本质:对数据和行为的一个封装
二、函数式编程
解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。
例如:请求->用户名、密码->连接JDBC->读取数据库
函数的本质:函数可以当做一个值进行传递
3)在Scala中函数式编程和面向对象编程完美融合在一起了。
三、函数和方法的区别
1)核心概念
(1)为完成某一功能的程序语句的集合,称为函数。
(2)类中的函数称之方法。
四、函数基础
函数基本语法
基本语法
1 | 2 | 3 | 4 | 5 | 6 |
定义函数的关键字 | 函数名 | 参数名 | 参数类型 | 函数返回值类型 | 函数体 |
案例实操
package Chapter05
import chapter01.HelloWorld
object Test_01FunctionAndMethod {
def main(args: Array[String]): Unit = {
//定义函数
def Say (name:String) : Unit = {
println( "hi" + " " + name)
}
//调用函数
Say("小李")
//调用对象的方法
Test_01FunctionAndMethod.Say("小黄")
//获取方法返回值
val result=Test_01FunctionAndMethod.say("小佳")
println(result)
}
//定义对象的方法
def Say(name: String): Unit = {
println("Hi" + " " + name)
}
//定义对象的返回值
def say(name: String): String = {
println("Hello" + " " + name)
return "Hello"
}
}
运行结果
五、函数定义
1)函数定义
(1)函数1:无参,无返回值
(2)函数2:无参,有返回值
(3)函数3:有参,无返回值
(4)函数4:有参,有返回值
(5)函数5:多参,无返回值
(6)函数6:多参,有返回值
案例实操
package Chapter05
object Test_02FunctionDefine {
def main(args: Array[String]): Unit = {
// (1)函数1:无参,无返回值
def f1():Unit ={
println("1、无参,无返回值")
}
f1()
println(f1())
println("===============")
//(2)函数2:无参,有返回值
def f2():Int = {
println("2、无参,有返回值")
return 8
}
println(f2())
//(3)函数3:有参,无返回值
def f3(name:String): Unit = {
println( "3、有参,无返回值" + name)
}
println(f3("小李"))
println("==================")
//(4)函数4:有参,有返回值
def f4(name:String): String = {
println( "4、有参,有返回值" + name)
return "Hi" + name
}
println(f4("小李"))
println("=============")
// (5)函数5:多参,无返回值
def f5(name1:String,name2:String): Unit = {
println( "5、多参,无返回值")
println(name1 + "和" + name2 + "都是我的好朋友")
}
f5("小李","小黄")
println("==================")
// (6)函数6:多参,有返回值
def f6(a:Int,b:Int): Int ={
println("6、多参,有返回值")
return a+b
}
println(f6(81,18))
}
}
运行结果