Source de FormeGeometrique1.java
abstract public class FormeGeometrique1 {
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() ;
}
|
Source de Rectangle7.java
public class Rectangle7
extends FormeGeometrique1 {
double largeur, hauteur;
public Rectangle7() {
posX=0; posY=0; largeur=0; hauteur=0;
}
public Rectangle7(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);
}
}
|
Source de Cercle7.java
public class Cercle7
extends FormeGeometrique1 {
double rayon;
Cercle7(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;
}
}
|
les lignes de
la classe :
Source de Prog50.java
public class Prog50 {
public static void main (String args[]) {
Rectangle7 rect;
Cercle7 cerc;
rect = new Rectangle7(9,3,10,20);
cerc = new Cercle7(43,32,100);
System.out.print("cercle ");
cerc.afficherPosition();
System.out.print("rectangle ");
rect.afficherPosition();
cerc.deplacer(66,88);
System.out.print("cercle maintenant ");
cerc.afficherPosition();
}
}
|
cercle position : (43.0,32.0) rectangle position : (9.0,3.0) cercle maintenant position : (66.0,88.0) |
abstract nomDeMéthode (<arguments>); abstract class NomDeClasseAbstraite
{ ... }Source de Dessinable1.java
import java.awt.Graphics;
public interface Dessinable1 {
public void dessiner(Graphics g);
}
|
Source de Rectangle8.java
public class Rectangle8
extends Rectangle7
implements Dessinable1 {
public Rectangle8(double x, double y,
double la, double lo) {
super(x,y,la,lo);
}
public void dessiner(Graphics g) {
g.drawRect((int)posX, (int)posY,
(int)largeur, (int)hauteur);
}
}
|
Source de Texte8.java
import java.awt.Graphics;
public class Texte8
implements Dessinable1 {
String texte;
int posX, posY;
public Texte8(String t,int x,int y) {
texte=t; posX=x; posY=y;
}
public void dessiner(Graphics g) {
g.drawString(texte,
(int)posX,(int)posY);
}
}
|
les
lignes de la classe :
Source de Prog51.java
import java.awt.Graphics;
import java.applet.Applet;
public class Prog51 extends Applet {
Dessinable1 TabADessiner[];
public void init() {
Rectangle8 rect =
new Rectangle8(19.0,33.0,100.0,150.0);
Texte8 text =
new Texte8("HELLO WORLD !", 50,50);
TabADessiner = new Dessinable1[2];
TabADessiner[0] = rect;
TabADessiner[1] = text;
}
public void paint(Graphics g) {
for (int i=0; i<TabADessiner.length; ++i)
TabADessiner[i].dessiner(g);
}
}
|
EXECUTION[<modificateurs d'accès>]
interface <nomInterface> [implements <interfaces>]
{
<constantes> <méthodes abstraites> }
[<modificateurs>] static final
<type> <nomVariable> = <valeur> ;
[<modificateurs>] <type>
<nomVariable> = <valeur> ;
[<modificateur>] <type>
<nomMéthode> ([<paramètres formels>]);
[<modificateur>] abstract
<type> <nomMéthode> ([<paramètres
formels>]);
EXECUTION :
rectangle : coin haut-gauche : 19.0,33.0 largeur : 100.0 hauteur
: 15.0
rectangle : coin haut-gauche : 45.0,33.3 largeur : 10.0 hauteur
: 20.0
cercle : centre : 22.0,65.0 rayon : 100.0
cercle : centre : 22.0,65.0 rayon : 100.0
le 2-ième a la plus grande surface : coin haut-gauche
: 45.0,33.3 largeur : 10.0 hauteur : 20.0
|