Implémenter une interface
Maintenant que l’interface est en place, il convient de la relier aux classes Cat et Dog qui représentent toutes les deux des animaux domestiques.
Pour traduire le fait que la classe Cat implémente l’interface Domestic, on écrit, avant l’accolade ouvrante de la classe, le symbole : suivi du nom de l’interface que l’on souhaite implémenter, dans ce cas l’interface Domestic :
class Cat(age: Int, name: String, race: String, color: String,
size: Int, weight: Float)
: Domestic
{
//...
}
La syntaxe est très proche de celle permettant d’exprimer l’héritage. À ce propos, dans cet exemple, la classe Cat n’hérite plus de la classe Animal. Corrigeons tout de suite ce problème.
En Kotlin, pour exprimer le fait qu’une classe hérite d’une autre classe et implémente une interface, on utilise le symbole : suivi du nom de la classe dont on hérite (ici Animal) et du constructeur de classe mère à appeler. Vient ensuite le symbole , suivi du nom de l’interface à implémenter (ici Domestic).
class Cat(age: Int, name: String, race: String, color: String,
size: Int, weight: Float)
: Animal(age, name, race, color, size, weight),
Domestic
{
//...
}
Si l’héritage multiple n’est...