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; } } |
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); } } |
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); } } |
[<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
|