162 votes

Constructeur secondaire Kotlin

Comment déclarer un constructeur secondaire en Kotlin ?

Y a-t-il de la documentation à ce sujet ?

Le code suivant ne compile pas...

class C(a : Int) {
  // Constructeur secondaire
  this(s : String) : this(s.length) { ... }
}

1voto

Deven Mer Points 72

Exemple de constructeur secondaire kotlin

class Person(name: String){
    var name=""
    var age=0

    constructor(age :Int,name : String)  : this(name){
        this.age=age
        this.name=name
    }
    fun display(){
        print("Kotlin constructeur secondaire $name  , $age")
    }
}

fonction principale

fun main(args : Array){

    var objd=Person(25,"Deven")
    objd.display()
}

1voto

Abbin Varghese Points 164

J'étais un peu confus avec la plupart des réponses. Pour faciliter la compréhension, j'ajoute un exemple avec plus d'éléments :

   @JsonInclude(JsonInclude.Include.NON_NULL)
   data class Response(val code: String) {
      var description: String? = null
      var value: String? = null

      constructor(code: String, description: String?) : this(code) {
          this.description = description
      }

      constructor(code: String, description: String?, value: String) : this(code, description) {
          this.value = value
      }
   }

1voto

Harish Reddy Points 250

Utilisez la variable 'internal' et vous pouvez ajouter plusieurs constructs à l'intérieur d'une seule classe comme indiqué ci-dessous. Cela fonctionnera sans problème.

class AuthModel {
    var code: String? = null

    internal constructor(code: String?) {
        this.code = code
    }

    internal constructor() {}
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X