【学習kotlinシリーズ】コンストラクタ

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

Qiitaでことりん学習帳を発売しています!

コンストラクタの書き方

コンストラクタは次のようにして指定できる。

class クラス名 constructor (引数名: 引数1型, 引数2名: 引数2型, ・・・ )

constructorは省略できる。

class クラス名(引数名: 引数1型, 引数2名: 引数2型, ・・・ )

実際に書いてみる

// コンストラクタを設定
class MyGame(_hp: Int, _mp: Int){

    // プロパティを定義

    // カスタムセッターを定義
    var name: String = ""
        set(value) {
            println("nameに${value}が設定されました。")
            // 値は field変数に格納する
            field = value
        }

    var hp: Int = _hp
    var mp: Int = _mp

    // カスタムゲッターを定義
    val nameLength: Int
        get(): Int {
            return this.name.length
        }


    // メソッドを定義
    fun getHP(): Int {
        return this.hp
    }

    fun getMP(): Int {
        // this は省略できる
        return mp
    }
}

fun main(args: Array<String>){

    // MyGameインスタンスの作成
    val hero: MyGame = MyGame(100, 20)

    // プロパティを設定
    hero.name = "John"

    // メソッドを実行
    print("現在のHP: ")
    println(hero.getHP())
    print("現在のMP: ")
    println(hero.getMP())
    print("名前の長さ: ")

    // カスタムゲッターで名前の長さを取得
    println(hero.nameLength)
}

実行結果

nameにJohnが設定されました。
現在のHP: 100
現在のMP: 20
名前の長さ: 4

Related posts

コメントを残す