# 2020-04-09 | Kotlin | Data Class ###### tags: `kotlin` `android` `gobelins` ## Exercice ### Enoncé - Créer une data classe Etudiant avec les propriétés suivantes : Id, name, adresse, sexe - Modifier la chaine de représentation pour retourner un json - Créer un objet étudiant et copier son contenu pour créer un nouvel objet en incrémentant l’id pour chaque objet copié - Modifier la méthode de comparaison des objets; deux objets sont égaux s’ils ont le même nom, le même code et le même sexe ### Code ```kotlin data class Etudiant (var name:String, var adresse:String, var sexe:String){ var id:Int init { id = increment increment++ } companion object{ var increment =0 fun lastId(): Int{ return increment } } override fun toString(): String { val json = """ { "id": $id "name": $name, "adresse": $adresse, "sexe": $sexe }""" return json } override fun equals(other: Any?): Boolean { if(other is Etudiant){ if(this.name == other.name && this.id == other.id && this.sexe == other.sexe){ return true } else { return false } } else { return false } } } val etudiant = Etudiant("Valentin","Morzine","Homme") val etudiant2 = etudiant.copy() val etudiant3 = etudiant2.copy() println(etudiant) println(etudiant2) println(etudiant3) println(Etudiant.lastId()) println(etudiant.equals(etudiant2)) println(etudiant.equals(etudiant3)) ```