# 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))
```