25 Jan2016
Polymorphisme - Classe Forme
Objectif :
- Mettre en place le concept du polymorphisme.
Énoncé :
Écrire les classes nécessaires au fonctionnement du programme suivant (en ne fournissant que les méthodes nécessaires à ce fonctionnement). N'oubliez pas de commenter votre code :
import java.text.DecimalFormat; public class TestFormes { public static void main(String[] argv) { DecimalFormat df = new DecimalFormat(".##"); Forme[] figures = new Forme[3]; figures[0] = new Carre(2); // Création d'un carré de 2 cm de coté figures[1] = new Cercle(3); // Création d'un cercle de 3 cm de rayon figures[2] = new Carre(5.2); // Création d'un carré de 5,2 cm de coté for (int i = 0; i < figures.length; i++) System.out.println(figures[i] + " : surface = " + df.format(figures[i].getSurface()) + " cm2"); } }
Exemple d’exécution :
Carré ( coté 2.0 cm ) : surface = 4.0 cm2
Cercle ( rayon 3.0 cm ) : surface = 28.26 cm2
Carré ( coté 5.2 cm ) : surface = 27,04 cm2
Notes
- Surface d'un carré = coté*coté
- Surface d'un cercle = Pi*rayon*rayon
La classe Forme :
public abstract class Forme { public abstract double getSurface(); }
La classe Carre:
public class Carre extends Forme { private double cote; public Carre(double cote) { this.cote = cote; } @Override public double getSurface() { return Math.pow(cote, 2); } public String toString() { return "Carré ( coté " + this.cote + " cm )"; } }
La classe Cercle :
public class Cercle extends Forme { private double rayon; public Cercle(double rayon) { this.rayon = rayon; } @Override public double getSurface() { return Math.PI * Math.pow(rayon, 2); } public String toString() { return "Cercle ( rayon " + this.rayon + " cm )"; } }
Sélectionnez le fichier à afficher.
|