Scala提供了方法過載功能,使我們能夠定義相同名稱但使用不同引數或資料型別的方法。 它有助於優化程式碼。
Scala方法通過使用不同的引數過載範例
在下面的例子中,定義了兩個具有不同數量的引數但具有相同資料型別的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中,使用以下命令編譯並執行程式碼 -
D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
30
60
Scala通過使用不同的資料型別方法過載範例
在下面的例子中,建立了一個使用兩個相同數量的引數但是不同的資料型別的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中,使用以下命令編譯並執行程式碼 -
D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
30
30.1