マニュアル: Kotlin

投稿日: プログラミング

文法

class

Classes and Inheritance - Kotlin Programming Language

コンストラクタの定義

プライマリコンストラクタという概念があって、ヘッダに書く。 privateの場合はprivate constructorと書く。

class Person constructor(firstName: String) {
}

constructorはアノテーションとかvisibility modifiers(privateとか)が ない場合は省略可能。

class Person(firstName: String) {
}

コンストラクタの実装

コンストラクタの実装は、initキーワードつきのブロック(イニシャライザ)を使う。 (RubyのinitializeとかObjective-Cのinitとかと同じですね)

init {
}

イニシャライザは複数定義可能で、 複数定義した場合、上から処理される。

セカンダリコンストラクタ

セカンダリコンストラクタはプライマリコンストラクタを呼ぶ必要がある。 this(name)がその呼び出し。

class Person(val name: String) {
  constructor(name: String, parent: Person) : this(name) {
    parent.children.add(this);
  }
}

インスタンス化

メソッド呼び出しのようにする。

var customer = Customer("Joe Smith")

継承

デフォルトはAnyを継承。Objectではない。 Anyequals(), hashCode(), toString()以外は持たない。 つまり、以下のメソッドがない。

継承をするときには、:で区切って右側にスーパークラスを書く。 継承可能なクラスにはopenを付ける。 Javaとは逆。素晴らしい。

メソッドのオーバーライド

WIP

逆引きマニュアル



ページトップへ戻る