Scalaメソッドのリロード

1408 ワード

Scalaは、同じ名前で異なるパラメータまたはデータ型を使用する方法を定義できるように、メソッドのリロード機能を提供します.コードの最適化に役立ちます.
 
Scalaメソッドは、異なるパラメータを使用して例を再ロードします.
次の例では、異なる数のパラメータを有するが同じデータ型を有する2つの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は、異なるデータ型メソッドを使用して例を再ロードします.
次の例では、同じ数の2つのパラメータを使用するが異なるデータ型の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