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.
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...