Exercice2 : Ecrivez une interface Forme avec les méthodes abstraites suivantes:
- perimetre(): renvoie le périmètre de la forme,
- aire(): renvoie l'aire de la forme.
Ecrivez une classe Carre et Rectangle implémentant l'interface Forme avec les attributs
suivants:carre(cote:le coté du carré) et Rectangle ( longueur et largeur)
Ces deux classes doivent disposer les constructeurs suivants:
-Carre( ),Carre(cot).
-Rectangle( ),Rectangle( largeur,longueur).
Elles doivent contenir des accesseurs et mutateurs pour leurs différents attributs,et les méthodes
suivantes:
- perimetre( ): Donne le périmètre de la forme,
- aire( ): Donne l'aire de la forme,
- toString( ): Donne une représentation de la forme
Ecrivez aussi une classe de testForme afin de tester les classes.
TELECHARGER ICI
package exo2;
public interface Forme
{
public double perimetre();
public double aire();
}
package exo2;
public class Carre implements Forme
{
protected double cote;
public Carre()
{
this(0.0);
}
public Carre(double cote)
{
setCote(cote);
}
public double perimetre()
{
return 4 * getCote();
}
public double aire()
{
return getCote() * getCote();
}
public double getCote()
{
return this.cote;
}
public void setCote(double cote)
{
this.cote = cote;
}
public String toString()
{
return "cote"+this.cote+"aire:"+aire()+"perimetre:"+perimetre()+"";
}
}
package exo2;
public class Rectangle{
Double largeur,longueur;
public Double getLargeur() {
return largeur;
}
public void setLargeur(Double largeur) {
this.largeur = largeur;
}
public Double getLongueur() {
return longueur;
}
public void setLongueur(Double longueur) {
this.longueur = longueur;
}
public Rectangle(Double largeur, Double longueur) {
super();
this.largeur = largeur;
this.longueur = longueur;
}
public double perimetre()
{
return 2*this.largeur+2*this.longueur;
}
public double aire()
{
return this.largeur*this.longueur;
}
@Override
public String toString() {
return "Rectangle [largeur=" + largeur + ", longueur=" + longueur + ", getLargeur()=" + getLargeur()
+ ", getLongueur()=" + getLongueur() + ", perimetre()=" + perimetre() + ", aire()=" + aire()
+ ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString()
+ "]";
}
}
TELECHARGER ICI
package exo2;
public interface Forme
{
public double perimetre();
public double aire();
}
package exo2;
public class Carre implements Forme
{
protected double cote;
public Carre()
{
this(0.0);
}
public Carre(double cote)
{
setCote(cote);
}
public double perimetre()
{
return 4 * getCote();
}
public double aire()
{
return getCote() * getCote();
}
public double getCote()
{
return this.cote;
}
public void setCote(double cote)
{
this.cote = cote;
}
public String toString()
{
return "cote"+this.cote+"aire:"+aire()+"perimetre:"+perimetre()+"";
}
}
package exo2;
public class Rectangle{
Double largeur,longueur;
public Double getLargeur() {
return largeur;
}
public void setLargeur(Double largeur) {
this.largeur = largeur;
}
public Double getLongueur() {
return longueur;
}
public void setLongueur(Double longueur) {
this.longueur = longueur;
}
public Rectangle(Double largeur, Double longueur) {
super();
this.largeur = largeur;
this.longueur = longueur;
}
public double perimetre()
{
return 2*this.largeur+2*this.longueur;
}
public double aire()
{
return this.largeur*this.longueur;
}
@Override
public String toString() {
return "Rectangle [largeur=" + largeur + ", longueur=" + longueur + ", getLargeur()=" + getLargeur()
+ ", getLongueur()=" + getLongueur() + ", perimetre()=" + perimetre() + ", aire()=" + aire()
+ ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString()
+ "]";
}
}
Pour tester le programme
package exo2;
public class Testf {
public static void main(String[] args) {
Carre cr=new Carre(3.3);
Rectangle rec=new Rectangle(2.0,3.2);
cr.aire();
cr.perimetre();
rec.aire();
System.out.println(rec.perimetre());
}
}
Commentaires
Enregistrer un commentaire