Vous êtes sur la page 1sur 3

Concepts et langages orient´ees objets

S´eance d’exercices 1 (23 F´evrier 2012)

Quelque conventions :

1. Le nom du fichier est le mˆeme que le nom de la classe qu’il contient, suivi de l’extension .java. Exemple : Un fichier contenant la classe maClasse portera le nom de fichier maClasse.java. Chaque programme poss`ede une classe principale qui doit contenir la m´ethode main avec la signature suivante :

public

static

void

main ( String

[] args ) {

}

2. On utilise des noms de variables descriptifs, en mettant des majuscules a` chaque changement de mots. Exemple : une variable contenant un num´ero de compte pourrait s’appeler numeroDeCompte.

3. La premi`ere lettre d’un nom de fichier est toujours une minuscule.

4. Il s’agit de rajouter beaucoup de commentaires a` un code, afin que d’autres personnes puissent le comprendre facilement. Exemple :

/*

Mon

commentaire

sur

plusieurs

lignes

*/

 

ou

//

Mon

commentaire

sur

une

ligne

A savoir :

– Le point-virgule marque la fin d’une instruction

– Une documentation tr`es utile du langage Java et des librairies

standard a` disposition (l’ “API” de Java) se

http ://www.oracle.com/technetwork/java/javase/documentation/index.html

trouve `a l’adresse :

Un premier programme :

class

Point

{

int

x ;

 

int

y ;

void

setX ( int

val )

{

x

=

val ;

}

1

int

getX ()

{

 

return

x ;

}

void

y

setY ( int =

val ;

val )

{

}

int

getY ()

{

 

return

y ;

}

void

afficher ()

{

 

System . out . println (" Coordonees

du

point :

("

+

x

+

" ,"

+

y

+

")" );

}

public

static

void

main ( String

args [])

{

Point

p1 ,

p2 ;

p1

=

new

Point () ;

p2

=

new

Point () ;

p1

. setX (2) ;

p1

. setY (4) ;

p2

. setX (5) ;

p2

. setY (3) ;

p1

. afficher () ;

p2

. afficher () ;

System . out . println ( p1 . getX () );

System . out . println ( p1 . getY () ); System . out . println ( p2 . getX () ); System . out . println ( p2 . getY () );

Integer

a

=

new

Integer (1) ;

int

b =1;

 

Float

c

=

new

Float (1.0) ;

float

d =

1.0 f;

}

}

Proc´edure `a suivre pour rendre un travail pratique

Vous avez une semaine pour rendre vos travaux pratiques : ils doivent ˆetre rendus au plus tard le jeudi matin a` 10 heures.

Rendez vos projets par e-mail a` l’adresse mohamed.benbelgacem@unige.ch et en CC `a hahlinr0@etu.unige.ch.

Lorsqu’on vous demande de rendre un programme, vous rendrez un pro- jet Eclipse. Cela inclut les codes sources et les fichiers de configuration Eclipse. Par contre, par mesure d’´economie d’espace, vous n’incluerez

2

pas les codes compil´es. Si vous ˆetes dans le doute, demandez de l’aide a` l’un des assistants.

Lorsqu’on vous demande de rendre un rapport, il doit se trouver soit en format Word, en format Open-office (Libre Office), ou en format PDF.

Emballez tous les fichiers que vous rendez soit en un fichier zip (ex- tension .zip), un fichier tar (extension .tar) ou un fichier tar comprim´e (extension .tgz).

Il est exig´e que le code que vous rendez soit compilable. S’il ne passe pas `a la compilation, votre travail pratique est consid´er´e non rendu.

Travail Pratique 1 (Inspirez-vous du code ci-dessus !)

A rendre : une classe Java dont la fonction main effectue toutes les op´e- rations demand´ees.

1.

Cr´eez un projet PremierProjet.

2.

Cr´eez un package PremierPackage.

3.

Cr´eez une classe NombreComplexe avec les modificateur default.

4.

Cr´eez la m´ethode main.

5.

Dans votre classe NombreComplexe, d´eclarez 2 attributs de type float :

re (partie r´eelle du nombre complexe) et im (partie imaginaire du nombre complexe).

6.

Cr´eez deux objets nr1 et nr2 qui sont des instances de la classe Nom- breComplexe.

7.

Cr´eez une m´ethode void afficher() qui va affiche la valeur d’un nombre complexe sous la forme a+bi o`u a est la partie r´eelle et b la partie imaginaire.

8.

Invoquez la m´ethode afficher sur les 2 objects nr1 et nr2.

9.

Cr´eez les accesseurs : les setters void setIm(float) et void setRe(float), et les getters float getIm() et float getRe().

10.

Attribuez des valeurs aux deux objets en utilisant les setters et retour- nez leurs valeurs en utilisant les getters.

11.

Affichez de nouveau vos r´esultats.

12.

Impl´ementez une m´ethode add pour l’addition de deux nombres com- plexes qui s’utilise avec la syntaxe suivante : NombreComplexe nr3 =

nr1.add(nr2).

13.

De la mˆeme fa¸con, impl´ementez des m´ethodes pour le produit, la sous- traction et la division, en veillant d’ˆetre en accord avec les r`egles de multiplication, soustraction et division entre nombres complexe.

3