Classe abstraite

 

Il est possible de déclarer une classe comme étant abstraite.

Cela permet de définir éventuellement une méthode comme étant elle même abstraite et donc définissable et à définir par la suite dans une classe dérivée.

Une classe abstraite ne pourra évidemment pas être instanciée (étant donné que certaines méthodes, bien que déclarées, ne sont pas codées).

Une classe abstraite sera forcement étendue (extends) afin de coder toutes ces méthodes abstraites.

 

Image non trouvée !Si vous déclarez une méthode abstraite, alors la classe sera à déclarer comme étant abstraite.

Le corps d'une méthode abstraite est vide. Il n'y aura pas d'accolade.

Une classe abstraite peut très bien ne pas avoir de méthodes abstraites. Cela permet simplement de ne pas pouvoir utiliser directement cette classe. Vous devrez forcement l'étendre.

 

 

Voici une classe Mathcal

Deux méthodes sont présentes:

int addition qui est abstraite et donc à définir dans la classe dérivée.

String addition qui est déclarée et codée, la classe dérivée pourrait éventuellement la surchargée si nécessaire.

Puis la classe Doublet:

Elle dérive de Mathcal et doit donc déclarer et coder la méthode int addition. Par contre, la méthode String addition me convient, je n'y ferais donc rien ici...

 

Enfin le moyen de tester tout cela...