https://paiza.io/ja ← サイトを開いてください。
このページでは「引数にインスタンスを利用する」を学習したいと思います。
変数を引数にする
fun main() { var a:Int = 10 var b:Int = 20 p( a , b ) } fun p( a:Int , b:Int ) { println( a + b ) }
![](https://hakoniwadesign.com/wp-content/uploads/2020/05/910b75975c8bd531dbe5a28b623460e7-1024x512.jpg)
インスタンスを引数にする
fun main() { val A:Data = Data() p( A ) } fun p( B:Data ) { println( B.a + B.b ) } class Data { var a:Int = 10 var b:Int = 20 }
![](https://hakoniwadesign.com/wp-content/uploads/2020/05/2f1a164124a9e43a44cd7a34905dbd49-1024x512.jpg)
注意点
コピーしたインスタンスは同期しています。
【変数のコピー】
![](https://hakoniwadesign.com/wp-content/uploads/2020/05/624d9385a8c3ae7c54c4dabbbc51bcb0-1024x512.jpg)
fun main() { var a:Int = 10 println( a ) var b:Int = a b = 100 println( a ) println( b ) }
【インスタンスのコピー】
![](https://hakoniwadesign.com/wp-content/uploads/2020/05/bd4e9ac82c1bdd2613fb3cbd0b660aeb-1024x512.jpg)
fun main() { val A:Data = Data() println( A.a ) val B:Data = A B.a = 100 println( A.a ) println( B.a ) } class Data { var a:Int = 10 }
【引数も同期される】
fun main() { val A:Data = Data() println( A.a ) p( A ) println( A.a ) } fun p(B:Data){ println( B.a ) B.a = 100 println( B.a ) } class Data { var a:Int = 10 }
まとめ
・ 「関数の引数にインスタンスを渡す」を学びました。
・ クラスの型を宣言してあげる必要があります。 ( 省略不可 )
・ インスタンスをコピーすると同期されます。(シンクロしてる)