Une classe est une sorte d'abstraction et peut définir
une chose générale ou un cas particulier.
Par exemple, une voiture est un type de véhicule et l'on peut décrire ce
qu'est un véhicule, et ce qu'est une voiture ou un camion, en décrivant
les attributs d'un véhicule, puis en redéfinissant la classe dans le cas
d'une voiture ou un camion.
Véhicule sera nommé la "superclasse" ou "classe de base" et Voiture et Camion
seront les sous-classes de Véhicule. Attributs et méthodes de la superclasse
sont aussi ceux de la sous-classe.
La syntaxe de l'héritage est:
class nom is supernom
Ce qui signifie que les instances de la classe "nom" héritent des attributs
et méthodes de la superclasse "supernom".
Cela est vrai même pour les attributs et méthodes statiques.
Exemple d'héritage, par les classes
"voiture" et "camion",
de la classe plus générale "véhicule". |
class
Vehicule int fuel void Vehicule()
fuel = 100 return
/class
class Voiture
is Vehicule int passagers void Voiture()
passagers = 3
fuel = 50 return
/class
class Camion is
Vehicule int charge void Camion()
fuel = 200
charge = 1000
return /class
Camion bibendum
Voiture daisy
print bibendum.charge `
attribut de la classe Camion print bibendum.fuel `
attribut de la superclasse Vehicule print bibendum.passagers `
mauvais! passagers non accessible à Camion! print daisy.passagers `
bon, passagers est attribut de Voiture |
Affiche: |
>
1000
> 200
> 3 |
Exercices |
1) Ecrire la classe Buggy à deux places, choisir dans les
classes ci-dessus, la classe dont elle hérite, les attributs
et méthodes qu'il faut ajouter ou changer.
Créer une instance et afficher le nombre de passagers.
Réponse
|
|