Utiliser une classe générique
Maintenant que la classe Kennel est une classe générique, nous pouvons l’utiliser en indiquant le paramètre de type choisi au moment de l’instanciation. Pour indiquer le paramètre de type choisi, on recourt à la syntaxe qui vaut pour les tableaux.
Instancions un chenil qui ne contient que des chiens :
val dogKennel = Kennel<Dog>()
Le programme précédent devient donc :
fun main()
{
val dogKennel = Kennel<Dog>()
val catKennel = Kennel<Cat>()
dogKennel.addAnimal(Dog("Doggo"))
catKennel.addAnimal(Cat("Kitty"))
}
Il n’est plus possible d’ajouter un chien dans le chenil des chats et un chat dans le chenil des chiens.