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 ellemê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’estil 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
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 ellemê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’estil 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
