pas abstraites comme setcolor_c() qui n’aura pas forcément à être réimplémentée dans les classes dérivées. 
Il est de ce fait impossible de créer un objet de type figure. Vous devez maintenant créer les classes qui en héritent. 
Voici  deux  exemples  simplifiés  de  classes :  disque  et  rectangle.  Vous  devez  implémenter  dedans  les  méthodes 
abstraites de la superclasse. 
  Note  importante :  vous  êtes  obligé  d’implémenter  dans  la  classe  dérivée  les  méthodes  abstraites  de  la 
superclasse. Si vous ne souhaitez pas le faire, vous devez de nouveau déclarer la méthode comme abstraite et 
la classe dérivée sera elle­même abstraite. 
Classe disque hérite de figure 
attributs privés 
rayon :réel 
méthodes publiques 
Constructeur disque(c_x,c_y,r) 
Début 
this.x←c_x 
this.y←c_y 
this.rayon←r 
Fin 
Fonction getSurface() :réel 
Début 
Retourne PI*this.rayon*this.rayon 
FinFonc 
Fonction getPerimètre() :réel 
Début 
Retourne 2*PI*this.rayon 
Fin 
FinClasse 
 
Classe rectangle hérite de figure 
attributs privés 
largeur :réel 
hauteur :réel 
méthodes publiques 
Constructeur rectangle(c_x,c_y,r_l,r_h) 
Début 
this.x←c_x 
this.y←c_y 
this.largeur←r_l 
this.hauteur←r_h 
Fin 
Fonction getSurface() :réel 
Début 
Retourne this.largeur*this.hauteur 
FinFonc 
Fonction getPerimètre() :réel 
Début 
Retourne 2*(this.largeur+this.hauteur) 
Fin 
FinClasse
Les  deux  classes  disque  et  rectangle  ne  comportant  pas  de  méthodes  abstraites,  elle  ne  sont  pas  abstraites  et 
peuvent être instanciées. 
5. Interfaces 
Les classes abstraites sont des classes comportant des méthodes implémentées ou non. Elles servent généralement 
de superclasses à d’autres. Il est possible de pousser le raisonnement plus loin : qu’est­il nécessaire de faire pour 
créer une classe servant uniquement et entièrement de prototype à une classe ? Cette classe doit avoir les propriétés 
suivantes : 
q Non instanciable 
q Abstraite 
- 6 -
© ENI Editions - All rigths reserved - Jonifar lina
213
Précédent

- 213/220

Suivant