Ministère de l’Enseignement Supérieur, de la Recherche Scientifique
et des Technologies de l'Information et de la Communication
Université de Carthage
Faculté des Sciences
de Bizerte
Département
Informatique
Classes : SI2-B gTP2
Matière : PROGRAMMATION ORIENTEE OBJET
Enseignants : W. Fantazi
A-U : 15/16
Semaine du : 01/12/2015
Durée : une semaine
TP JAVA N°4
Exercice 1 :
Compléter les classes suivantes pour que la classe Test fonctionne correctement class Point
{//…}
class Cercle extends Point {//…}
class Cylindre extends Cercle{//…}
class TestCas
{ public static void main (String [] args)
{
/ un point est défini par ses coordonnés x et y /
Point p= new Point(2.0,2.0) ;
System.out.println("Point"+p) ;
/un cercle est défini par ses coordonnés x et y de son centre et par son rayon /
Cercle c= new Cercle(2.0,2.0,3.0) ;
System.out.println("cercle: "+c+"surface: "+c.surface( )) ;
/*un cylindre est défini par ses coordonnés x et y de son centre, par son rayon et par sa
hauteur*/
Cylindre cc = new Cylindre (2.0,2.0,3.0 ,10.0);
System.out.println("cylindre"+cc+"surface:"+cc.surface( ));
}}
N.B : La surface d’un cylindre est égale à 2surface d’un cercle + 23.14rayonhauteur.
On obtient sur écran :
Point[2.0, 2.0]
Publicité
cercle: Center = [2.0, 2.0] Radius=3.0 surface: 28.27
cylindre : Center = [2.0, 2.0] Radius=3.0, Height=10.0 surface:245.04
public class Point
{
double x, y; //1
public Point() // 2
{
setPoint(0,0);
}
public Point(double a, double b) //3
{
setPoint(a,b);
}
public void setPoint(double a, double b)
{
x = a; y = b;
}
public double getX()
{
return x;
}
public double getY()
1
{
return y;
}
public String toString()
{
return "[" + x + ", "+ y + "]";
}
}
/*public class Point {
private double x;
private double y;
public Point(double x, double y){
this.x=x;
Publicité
this.y=y;
}public String toString(){
return "("+ this.x+","+this.y+")";
}
public static void main(String[] args){
Point point= new Point(3,2);
System.out.println(point.toString());
}
}*/
Classe cercle
public class Cercle extends Point
{
protected double radius;
public Cercle()
{
setRadius(0);
}
public Cercle( double a, double b,double r)
{
super(a, b); // must come first
setRadius(r);
}
public void setRadius(double r)
{
radius = (r >= 0? r : 0.0);
}
public double getRadius()
{
return radius;
}
public double surface()
{
return Math.PI radius radius;
}
public String toString()
{
Publicité
return "Center="+"[" +x + ", " +y + "]" +" Radius="+ radius;
}
}
Classe cylinder
2
Département
Informatique
Ministère de l’Enseignement Supérieur, de la Recherche Scientifique
et des Technologies de l'Information et de la Communication
Université de Carthage
Faculté des Sciences
de Bizerte
public class Cylinder extends Cercle
{
protected double height;
// no-argument constructor
public Cylinder()
{
setHeight(0);
}
// four-argument constructor
public Cylinder( double a, double b , double r, double h)
{
super(a,b , r); // super must come first
setHeight(h);
}
public void setHeight(double h)
{
height = (h>= 0? h : 0);
}
public double getHeight()
{
return height;
}
public double surface()
{
Publicité
return 2super.surface() + 2Math.PIheightradius;
}
public double volume()
{
return super.surface()*height ;
}
public String toString()
{
return super.toString() + ", Height="+ height;
}
}
testCas
class TestCas
{
public static void main (String [] args)
{
/ un point est défini par ses coordonnés x et y /
Point p= new Point(2.0,2.0) ;
System.out.println("Point"+p) ;
/*un cercle est défini par ses coordonnés x et y de son centre et par son
rayon */
Cercle c= new Cercle(2.0,2.0,3.0) ;
System.out.println("cercle: "+c+"surface: "+c.surface()) ;
/*un cylindre est défini par ses coordonnés x et y de son centre, par son
rayon et par sa hauteur*/
Cylinder cc = new Cylinder (2.0,2.0,3.0 ,10.0);
System.out.println("cylindre"+cc+"surface:"+cc.surface());
}
}
3
4