java
Travaux pratique de Méthodologie et Langage de Programmation, UMONS/Polytech, TP2
2.Programmation en Java : superclasses abstraites et interfaces
Cette séance de TP présente de nouvelles notions utilisées dans la conception orientée objets en
Java : les superclasses abstraites et les interfaces. Ces notions permettent d'atteindre un plus haut niveau de polymorphisme. Nous montrerons également comment il est possible de générer une documentation du code développé à l'aide de l'utilitaire javadoc.
2.1.Notions
a) Superclasse abstraite
Lors de la conception d'une hiérarchie de classes, il peut être judicieux de créer une classe de laquelle hériteront toutes les autres. Cette superclasse ne sera jamais instanciée et permettra aux autres classes d'hériter de son interface et de son implémentation. On parle dès lors de superclasse abstraite. À l'opposé, une classe concrète permet d'instancier des objets.
À titre d'exemple, l'exercice 5 du TP1 amenait à la création d'un certain nombre de formes géométriques. Supposons que l'on souhaite ajouter une classe générique de laquelle toutes les formes géométriques hériteraient. Cette superclasse générique ne serait jamais instanciée et on pourrait, dès lors, définir celleci comme une classe abstraite. Cela se fait à l'aide du motclé abstract utilisé, par exemple, de la manière suivante : public abstract class Forme
Remarque : bien qu'on ne puisse pas instancier un objet à partir d'une classe abstraite, il est possible de déclarer des références vers une telle classe, ce qui permet de tirer profit du polymorphisme.
b)Mot-clé final
Le mot-clé final peut-être utilisé dans différentes situations :
● avec une variable : il spécifie que la variable ne pourra plus être modifiée et doit dès lors être initialisée dès sa déclaration ;
●
avec une méthode : il empêche toute redéfinition de la méthode déclarée comme telle ;
avec une classe : il empêche d'hériter de la classe