Classes abstraites.
Les classes abstraites sont des classes ne pouvant qu'être héritée.
On ne peut pas les instancier.
Une classe abstraite permet de définir les caractéristiques communes de plusieurs classes d'objets.
Exemple :
Classe abstraite :
Les méthodes surface et périmètre sont abstraites (non définies)
--
abstract public class FormeGeometrique {
double posX, posY;
void deplacer(double x,double y) {
posX=x;
posY=y;
}
void afficherPosition() {
System.out.println("position : (" + posX + "," + posY + ")");
}
abstract double surface() ;
abstract double perimetre() ;
}
--
Classe qui hérite d'une classe abstraite :
La classe Rectangle hérite de la classe abstraite.
Elle définie toutes ses méthodes, en particulier celles abstraites héritées. Donc elle n'est pas abstraite.
--
public class Rectangle extends FormeGeometrique {
double largeur, hauteur;
public Rectangle() {
posX=0; posY=0; largeur=0; hauteur=0;
}
public Rectangle(double x, double y, double la, double lo) {
posX = x; posY = y; largeur = la; hauteur=lo;
}
double surface() {
return largeur * hauteur;
}
double perimetre() {
return 2*(largeur + hauteur);
}
}
Classe qui hérite d'une classe abstraite :
--
public class Cercle extends FormeGeometrique {
double rayon;
Cercle(double x, double y, double r) {
posX = x; posY = y; rayon = r;
}
double surface() {
return Math.PI*Math.pow(rayon, 2.);
}
double perimetre() {
return 2*rayon*Math.PI;
}
}






