méthodes publiques 
Procédure mouvement() 
Début 
Afficher "Mouvement de Tour" 
FinProc 
... 
FinClasse
Quand  vous  allez  déclarer  un  objet  de  type  tour  et  que  vous  allez  accéder  à  la  méthode  mouvement(),  c’est  la 
méthode mouvement() de Pièce qui va être appelée et c’est donc le message correspondant "Mouvement de Tour" 
qui s’affiche. 
Programme obj5 
var 
matour1 :Tour 
Début 
... 
// Appel de mouvement() de l’objet matour1 
matour1.mouvement() 
Fin
Vous pouvez explicitement faire appel à la méthode de la superclasse Pièce dont Tour dérive à l’aide du mot­clé super 
(pour superclasse) au sein de la ou des méthodes concernées. Dans l’exemple suivant la méthode mouvement() de la 
classe  Tour  a  été  modifiée  pour  appeler  la  méthode  mouvement()  de  Pièce.  À  l’issue  de  ce  programme,  les  deux 
messages sont affichés, d’abord celui pour Pièce, puis celui pour Tour. 
Classe Tour hérite de Pièce 
... 
méthodes publiques 
Procédure mouvement() 
Début 
// Appel de mouvement() de Pièce 
super.mouvement() 
Afficher "Mouvement de Tour" 
FinProc 
... 
FinClasse 
Programme obj6 
var 
matour1 :Tour 
Début 
... 
// Appel de mouvement() de l’objet matour1 
matour1.mouvement() 
Fin
  Note :  en  cas  d’héritage  en  cascade,  le  mot­clé  super  se  rapporte  à  la  classe  mère,  c’est­à­dire  celle  dont 
dérive directement la classe fille. Pour remonter toute la hiérarchie des classes, vous devez utiliser le mot­clé 
super dans toutes les méthodes de toutes les classes précédentes, en cascade. 
d. Le polymorphisme paramétrique 
Chaque méthode au sein d’une classe dispose d’une signature particulière. Cette signature est constituée du nom de 
la  méthode,  des  paramètres  qu’elle  prend  et  de  la  valeur  qu’elle  retourne.  Le  langage  objet  se  base  sur  cette 
signature pour appeler la bonne méthode. 
Le principe de l’objet indique qu’il suffit qu’un seul de ces trois constituants de la signature varie pour que la méthode 
soit considérée comme différente. Vous pouvez faire par exemple varier le type de variable retournée par la méthode, 
et aussi les paramètres, mais pas le nom de celle­ci ? Voyez­vous les implications directes ? Vous avez le droit de 
donner le même nom à plusieurs méthodes à condition que le nombre ou les types des paramètres de celles­ci ne 
soient pas identiques. 
Soit une classe calcul qui redéfinit des opérations sur divers types de variables : entiers, réels, mais aussi chaînes de 
caractères pour les concaténer par exemple. Dans cette classe, vous voulez que quand vous appelez la méthode 
addition(), l’addition des deux valeurs passées en paramètres soit effectuée, sans se soucier de leur type. Cela ne 
représente aucun problème. L’exemple suivant implémente ces trois méthodes, et le programme principal y fait appel. 
- 13 -
© ENI Editions - All rigths reserved - Jonifar lina
206
Précédent

- 206/220

Suivant