Kotlin - Konstrukteure
In diesem Kapitel lernen wir Konstruktoren in Kotlin kennen. Kotlin hat zwei Arten von Konstruktoren - eine ist dieprimary constructor und der andere ist der secondary constructor. Eine Kotlin-Klasse kann einen Primärkonstruktor und einen oder mehrere Sekundärkonstruktoren haben. Der Java-Konstruktor initialisiert die Mitgliedsvariablen. In Kotlin initialisiert der primäre Konstruktor jedoch die Klasse, während der sekundäre Konstruktor dabei hilft, zusätzliche Logik einzuschließen, während diese initialisiert wird. Der primäre Konstruktor kann auf Klassenheaderebene deklariert werden, wie im folgenden Beispiel gezeigt.
class Person(val firstName: String, var age: Int) {
// class body
}
Im obigen Beispiel haben wir den primären Konstruktor in der Klammer deklariert. Unter den beiden Feldern ist der Vorname schreibgeschützt, da er als "val" deklariert ist, während das Feldalter bearbeitet werden kann. Im folgenden Beispiel verwenden wir den primären Konstruktor.
fun main(args: Array<String>) {
val person1 = Person("TutorialsPoint.com", 15)
println("First Name = ${person1.firstName}")
println("Age = ${person1.age}")
}
class Person(val firstName: String, var age: Int) {
}
Der obige Code initialisiert automatisch die beiden Variablen und liefert die folgende Ausgabe im Browser.
First Name = TutorialsPoint.com
Age = 15
Wie bereits erwähnt, können mit Kotlin ein oder mehrere sekundäre Konstruktoren für Ihre Klasse erstellt werden. Dieser sekundäre Konstruktor wird mit dem Schlüsselwort "Konstruktor" erstellt. Dies ist immer dann erforderlich, wenn Sie mehr als einen Konstruktor in Kotlin erstellen möchten oder wenn Sie mehr Logik in den primären Konstruktor aufnehmen möchten. Dies ist nicht möglich, da der primäre Konstruktor möglicherweise von einer anderen Klasse aufgerufen wird. Schauen Sie sich das folgende Beispiel an, in dem wir einen sekundären Konstruktor erstellt haben und das obige Beispiel verwenden, um denselben zu implementieren.
fun main(args: Array<String>) {
val HUman = HUman("TutorialsPoint.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) {
}
}
Note - Es können beliebig viele sekundäre Konstruktoren erstellt werden. Alle diese Konstruktoren sollten jedoch den primären Konstruktor direkt oder indirekt aufrufen.
Der obige Code liefert die folgende Ausgabe im Browser.
Hey!!! TutorialsPoint.comWelcome to the example of Secondary constructor, Your Age is- 25