Help us understand the problem. What is going on with this article?

Kotlinで簡単なオブジェクトを作成する

More than 1 year has passed since last update.

はじめに

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
keimoriyama
機械学習とwebアプリ開発に興味がある学生です
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした