Une méthode abstraite est signalée par le modificateur abstract placé au début de son en-tête. Une telle méthode n'a alors que son prototype, c'est-à-dire son type de retour suivi, de son nom, suivi de la liste de ses paramètres entre des parenthèses, suivi d'un point-virgule. Une méthode abstraite ne peut pas être déclarée static ou private ou final.
Dès qu'une classe contient une méthode abstraite, elle doit elle aussi être déclarée abstraite, avec le modificateur abstract placé au début de son en-tête .
Une classe abstraite ne peut pas être instanciée. Il faudra l'étendre et définir toutes les méthodes abstraites qu'elle contient pour pouvoir l'utiliser.
Une sous-classe d'une classe abstraite sera encore abstraite si elle ne définit pas toutes les méthodes abstraites dont elle hérite.
Les classes abstraites sont très utiles pour définir des méthodes dépendant d'autres méthodes qui ne sont pas précisées.
Les quatre fichiers ci-dessous sont liés. La classe Forme est une classe abstraite et possède deux méthodes abstraites. Les classes Ellipse et Rectangle étendent la classe Forme et définissent les deux méthodes abstraites de la classe Forme. Un programme permet enfin de tester l'ensemble des classes Forme, Ellipse et Rectangle.
Nous vous proposons maintenant un exercice.
Des élèves avec un résultat en crédits ECTS
© Charon Irène Télécom ParisTech 2010