Initialiser les attributs plus tard

Au chapitre Le type nullable, il est dit qu’une variable qui n’est pas initialisée instantanément ou un attribut qui n’est pas initialisé dès l’appel au constructeur doit obligatoirement être déclaré comme nullable.

En réalité, le langage Kotlin offre tout ce qu’il faut pour contourner cette limitation.

Avec les concepts étudiés jusqu’à présent, il n’est pas simple de déclarer un attribut dans une classe sans le déclarer nullable et sans l’initialiser dans le constructeur de la classe.

Soit une classe Dog qui possède deux attributs : un nom et un tatouage.

Un chien portant un nom dès sa naissance, nous pouvons initialiser cet attribut dans le constructeur pour éviter d’en faire un attribut nullable. Le tatouage ne pouvant se faire qu’après le passage chez le vétérinaire, ce second attribut doit pouvoir être initialisé dans un second temps, ce qui implique qu’il soit déclaré comme étant nullable.

data class Dog(val name: String) 
{ 
 
 var tatoo: String? = null 
   private set 
 
 fun generateTatoo() 
 { 
   tatoo = "$name-123" 
 } 
 
} 

Le fait que la propriété tatoo soit nullable n’est pas idéal, car elle suggère que le tatouage...

couv_RIKOT.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
En résumé
Suivant
Initialisation paresseuse des attributs