publicité
```EL KADIRI Achraf
TP 6 : Polymorphisme
Exercice 1 :
Classe Frome :
public class Forme {
protected double surface;
public Forme(double surface) {
this.surface = surface;
}
public double getSurface() {
return surface;
}
}
Classe Carre :
public class Carre extends Forme{
private double cote;
public Carre(double cote) {
super(cote * cote);
this.cote = cote;
}
public String toString(){
return &quot;Carr&eacute; (cot&eacute; &quot;+this.cote+&quot; cm) &quot;;
}
}
Classe Cercle :
public class Cercle extends Forme{
private double rayon;
public Cercle(double rayon) {
super(Math.PI * Math.pow(rayon, 2));
this.rayon = rayon;
}
public String toString(){
return &quot;Cercle (rayon &quot;+this.rayon+&quot; cm) &quot;;
}
}
Classe Test :
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Forme[ ] figures = new Forme[3] ;
figures [ 0 ] = new Carre( 2 ) ; // Cr&eacute;ation d'un carr&eacute; de 2 cm de cot&eacute;
figures [ 1 ] = new Cercle( 3 ) ; // Cr&eacute;ation d'un cercle de 3 cm de rayon
figures [ 2 ] = new Carre( 5.2 ) ; // Cr&eacute;ation d'un carr&eacute; de 5,2 cm de cot&eacute;
for( int i=0 ; i&lt; figures.length ; i++ )
System.out.println( figures[i] +&quot; : surface = &quot;+
figures[i].getSurface() +&quot; cm2&quot; ) ;
}
}
Exercice 2 :
Classe Personne :
public abstract class Personne {
protected String nom;
public Personne(String nom) {
this.nom = nom;
}
public abstract void affiche();
}
public class Menuisier extends Personne {
super(nom);
}
public void affiche() {
}
}
Classe Plombier :
public class Plombier extends Personne{
public Plombier(String nom) {
super(nom);
}
public void affiche() {
System.out.println(&quot;Je suis&quot;+this.nom+&quot; le Plombier&quot;);
}
}
Classe Test :
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Personne[ ] personnes = new Personne[3] ;
personnes [ 0 ] = new Menuisier( &quot;Paul&quot; ) ;
personnes [ 1 ] = new Plombier( &quot;Jean&quot; ) ;