2017-06-12 1 views
3

J'essaie de créer une classe POJO (POKO?) Simple dans Kotlin, avec un constructeur vide par défaut et un constructeur secondaire avec paramètres, qui alimente les propriétésDéfinition d'un constructeur par défaut et d'un constructeur secondaire dans Kotlin, avec les propriétés

Cela ne me donne pas firstName et lastName propriétés:

class Person() { 

    constructor(firstName: String?, lastName: String?) : this() 
} 

Cela me donne les propriétés, mais ils ne sont pas mis instanciation après:

class Person() { 

    constructor(firstName: String?, lastName: String?) : this() 

    var firstName: String? = null 
    var lastName: String? = null 
} 

Et cela me donne une erreur de compilation en disant « « var » sur le paramètre du constructeur secondaire n'est pas autorisé. »:

class Person() { 

    constructor(var firstName: String?, var lastName: String?) : this() 
} 

Alors, comment cela se fait? Comment puis-je avoir un constructeur par défaut et un constructeur secondaire avec des paramètres et des propriétés?

Répondre

5

Vous pouvez avoir juste un constructeur primaire avec des paramètres qui ont default values:

class Person(var firstName: String? = null, var lastName: String? = null) 
+0

Wow. C'est élégant. Merci! – MPelletier