Kotlin-constructors

提供:Dev Guides
移動先:案内検索

Kotlin-コンストラクター

この章では、Kotlinのコンストラクターについて学習します。 Kotlinには2種類のコンストラクターがあります-1つは primary constructor で、もう1つは secondary constructor です。 1つのKotlinクラスには、1つのプライマリコンストラクターと、1つ以上のセカンダリコンストラクターを含めることができます。 Javaコンストラクターはメンバー変数を初期化しますが、Kotlinではプライマリコンストラクターがクラスを初期化しますが、セカンダリコンストラクターは同じ初期化中に追加のロジックを含めるのに役立ちます。 プライマリコンストラクターは、次の例に示すように、クラスヘッダーレベルで宣言できます。

class Person(val firstName: String, var age: Int) {
  //class body
}

上記の例では、かっこ内でプライマリコンストラクターを宣言しています。 2つのフィールドのうち、名前は「val」として宣言されているため読み取り専用ですが、フィールドの年齢は編集できます。 次の例では、プライマリコンストラクターを使用します。

fun main(args: Array<String>) {
   val person1 = Person("finddevguides.com", 15)
   println("First Name = ${person1.firstName}")
   println("Age = ${person1.age}")
}
class Person(val firstName: String, var age: Int) {
}

上記のコードは、2つの変数を自動的に初期化し、ブラウザーに次の出力を提供します。

First Name = finddevguides.com
Age = 15

前に述べたように、Kotlinではクラスの1つ以上のセカンダリコンストラクターを作成できます。 この2次コンストラクターは、「constructor」キーワードを使用して作成されます。 Kotlinで複数のコンストラクターを作成する場合、またはプライマリコンストラクターにロジックを追加する場合は常に必要です。プライマリコンストラクターは他のクラスによって呼び出される可能性があるため、作成できません。 次の例を見てください。セカンダリコンストラクターを作成し、上記の例を使用して同じものを実装しています。

fun main(args: Array<String>) {
   val HUman = HUman("finddevguides.com", 25)
   print("${HUman.message}"+"${HUman.firstName}"+
      "Welcome to the example of Secondary  constructor, Your Age is-${HUman.age}")
}
class HUman(val firstName: String, var age: Int) {
   val message:String  = "Hey!!!"
    constructor(name : String , age :Int ,message :String):this(name,age) {
   }
}

-セカンダリコンストラクタはいくつでも作成できますが、これらのコンストラクタはすべて、プライマリコンストラクタを直接または間接的に呼び出す必要があります。

上記のコードは、ブラウザに次の出力を生成します。

Hey!!! finddevguides.comWelcome to the example of Secondary  constructor, Your Age is- 25