Scala提供了方法重載功能,使我們能夠定義相同名稱但使用不同參數(shù)或數(shù)據(jù)類型的方法。 它有助于優(yōu)化代碼。
Scala方法通過使用不同的參數(shù)重載示例
在下面的例子中,定義了兩個具有不同數(shù)量的參數(shù)但具有相同數(shù)據(jù)類型的add
方法。
class Arithmetic{
def add(a:Int, b:Int){
var sum = a+b
println(sum)
}
def add(a:Int, b:Int, c:Int){
var sum = a+b+c
println(sum)
}
}
object Demo{
def main(args:Array[String]){
var a = new Arithmetic();
a.add(10,20);
a.add(10,20,30);
}
}
將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -
D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
30
60
Scala通過使用不同的數(shù)據(jù)類型方法重載示例
在下面的例子中,創(chuàng)建了一個使用兩個相同數(shù)量的參數(shù)但是不同的數(shù)據(jù)類型的add
方法。
class Arithmetic{
def add(a:Int, b:Int){
var sum = a+b
println(sum)
}
def add(a:Double, b:Double){
var sum = a+b
println(sum)
}
}
object Demo{
def main(args:Array[String]){
var b = new Arithmetic()
b.add(10,20)
b.add(10.0,20.1)
}
}
將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -
D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
30
30.1