Object-Oriented Programming Java Practical Exercise

Page 1 sur 4Lecteur de document UniversityLib

Object-Oriented Programming Java Practical Exercise

Computer Science - Object-Oriented Programming · lab

Voir tous les documents en programmation

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