初心者用kotlin

kotlinのメモです。

1668 views

コンストラクタ

Person1クラスはkotlinでよく使われるコンストラクタの記法。クラスの引数にメンバ変数を宣言する。このときvarをつけて宣言することがポイント。関数の引数の書き方と似ているが、関数の引数にはvarをつけない。

class Person1(var name:String, var age:Int) {
    //大抵はこの書式で書いているはず。引数にvarをつけることがポイント。
    fun show() {
        println("${this.name}は${this.age}歳です")
    }
}

Person1クラスのメンバ変数にvarをつけずに宣言したのがPerson2の記法。
クラスに引数をつけて書き、initでメンバ変数を初期化する。

//java風にコンストラクタで引数をつけて、メンバに入れる方法
class Person2(name:String, age:Int) {
    var name:String
    var age:Int
    init {
        //コンストラクタのメンバにアクセスできる
        this.name = name
        this.age = age
    }

    fun show() {
        println("${this.name}は${this.age}歳です")
    }
}

コンストラクタを明記して記述したのがPerson3。

//さらにコンストラクタを明記する方法
class Person3 constructor(name:String, age:Int) {
    var name:String
    var age:Int
    init {
        //コンストラクタのメンバにアクセスできる
        this.name = name
        this.age = age
    }

    fun show() {
        println("${this.name}は${this.age}歳です")
    }
}

セカンダリコンストラクタ、サードコンストラクタなど複数のコンストラクタを作成する場合の書き方が以下。

//セカンダリコンストラクタ
class Person4(var name:String, var age:Int) {
    constructor(name:String):this(name, 16) {

    }
    constructor():this("kijima", 23){

    }

    fun show() {
        println("${this.name}は${this.age}歳です")
    }
}

実際に実行してみた。p1~p3はコンストラクタが一個しかないので、それぞれ一つずつ実行。
p4~p6は、コンストラクタごとに呼び分けている。

fun main(args:Array<String>){
    val p1 = Person1("konishi", 40)
    p1.show()

    val p2 = Person2("konishi", 41)
    p2.show()

    val p3 = Person3("konishi", 42)
    p3.show()

    val p4 = Person4("konishi", 43)
    p4.show()

    val p5 = Person4("konishi")
    p5.show()

    val p6 = Person4()
    p6.show()
}

実行結果。

konishiは40歳です
konishiは41歳です
konishiは42歳です
konishiは43歳です
konishiは16歳です
kijimaは23歳です

Page 6 of 36.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626