Kotlin - Constructeurs

Dans ce chapitre, nous allons découvrir les constructeurs dans Kotlin. Kotlin a deux types de constructeur - l'un est leprimary constructor et l'autre est le secondary constructor. Une classe Kotlin peut avoir un constructeur principal et un ou plusieurs constructeurs secondaires. Le constructeur Java initialise les variables membres, cependant, dans Kotlin, le constructeur principal initialise la classe, tandis que le constructeur secondaire permet d'inclure une logique supplémentaire lors de l'initialisation de la même chose. Le constructeur principal peut être déclaré au niveau de l'en-tête de classe, comme illustré dans l'exemple suivant.

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

Dans l'exemple ci-dessus, nous avons déclaré le constructeur principal à l'intérieur de la parenthèse. Parmi les deux champs, le prénom est en lecture seule car il est déclaré «val», tandis que l'âge du champ peut être modifié. Dans l'exemple suivant, nous utiliserons le constructeur principal.

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) {
}

Le morceau de code ci-dessus initialisera automatiquement les deux variables et fournira la sortie suivante dans le navigateur.

First Name = TutorialsPoint.com
Age = 15

Comme mentionné précédemment, Kotlin permet de créer un ou plusieurs constructeurs secondaires pour votre classe. Ce constructeur secondaire est créé à l'aide du mot-clé «constructor». Il est requis chaque fois que vous souhaitez créer plus d'un constructeur dans Kotlin ou chaque fois que vous souhaitez inclure plus de logique dans le constructeur principal et vous ne pouvez pas le faire car le constructeur principal peut être appelé par une autre classe. Jetez un œil à l'exemple suivant, dans lequel nous avons créé un constructeur secondaire et utilisons l'exemple ci-dessus pour l'implémenter.

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 - N'importe quel nombre de constructeurs secondaires peut être créé, mais tous ces constructeurs doivent appeler le constructeur principal directement ou indirectement.

Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur.

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