はじめに
Kotlin でクラスを扱うときのための基本的なことのメモ
簡単なクラスの定義
ここでは簡単なクラスの定義をまとめます。以下には車を例に簡単なクラスの定義などを簡単にまとめます。引数としてメーカーを表すtype
と作られた年代を示すmodel
を用意します。
class Car(var type:String,var model:Int){
init{
println("this class is initialized")
}
}
ここで、init
はクラスが初期化されたときに自動的に一番最初に実行されます。
例えば、以下のコードを実行します。
class Car(var type:String,var model:Int){
init{
println("this class is initialized")
}
}
fun main(){
var car = Car("Toyota",1999)
}
実行結果として以下の結果が得られます。
this class is initialized
プロパティへのアクセス
上のコードで初期化したオブジェクトのプロパティへアクセスするには、以下のようにしてアクセスします。
car.kt
class Car(var type:String,var model:Int){
init{
println("this class is initialized")
}
}
fun main(){
var car = Car("Toyota",1999)
println(car.type)
println(car.model)
}
実行結果として以下の結果が得られます。
this class is initialized
Toyota
1999
メソッドの作成
メソッドの作成は以下のようにして行います。このコードでは、車が作られてから何年たったかを計算して値を返しています。
class Car(var type:String,var model:Int){
init {
println("this class is initialized")
}
fun getYearOfCar():Int{
return 2019-model
}
}
リストによる複数のオブジェクトの作成
複数のオブジェクトを作成するとき、リストを使ってオブジェクトを作成することができます。
class Car(var type:String,var model:Int){
init {
println("this class is initialized")
}
fun getYearOfCar():Int{
return 2019-model
}
}
fun main(){
//リスト
var listOfCar = arrayListOf<Car>()
listOfCar.add(Car("toyota",1999))
listOfCar.add(Car("matsuda",2010))
for (car in listOfCar){
println(car.type)
println(car.model)
}
}
実行結果
this class is initialized
this class is initialized
toyota
1999
matsuda
2010