Mettre en place l’héritage
Commençons par écrire une classe Animal. Elle doit contenir les attributs et les méthodes communs au chien et au chat.
1. La classe Animal
class Animal(var age: Int, var name: String, var race: String,
var color: String, var size: Int, var weight: Float)
{
fun eat(foodWeight: Int)
{
weight += (foodWeight / 1000f)
}
fun run(distance: Int)
{
weight -= (distance / 1000f) / 1000
}
override fun toString(): String
{
return "Animal(age=$age, name='$name', race='$race',
color='$color', size=$size, weight=$weight)"
}
}
Il s’agit d’une classe des plus normales. Malheureusement, en l’état, il n’est pas possible d’hériter de cette classe et donc de bâtir les classes Dog et Cat sur cette classe Animal. En effet, pour permettre l’héritage de la classe Animal, nous devons ajouter le mot-clé open devant le mot class. Le mot-clé open signifie que la classe est ouverte à l’héritage. open
Ainsi, la classe Animal devient :
open class Animal(var age: Int, var name: String, var race:
String, var color: String, var size: Int, var weight: Float)
{
//...
}
2. La classe Cat
Maintenant que la classe mère Animal est écrite...