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 )
}

インスタンスを引数にする
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
}

注意点
コピーしたインスタンスは同期しています。
【変数のコピー】

fun main() {
var a:Int = 10
println( a )
var b:Int = a
b = 100
println( a )
println( b )
}
【インスタンスのコピー】

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
}
まとめ
・ 「関数の引数にインスタンスを渡す」を学びました。
・ クラスの型を宣言してあげる必要があります。 ( 省略不可 )
・ インスタンスをコピーすると同期されます。(シンクロしてる)