Vous êtes sur la page 1sur 7

Activit dapprentissage 2

Module

11

Programmation oriente objet

Prcision

Programmer des classes dans un langage de


P.O.O.

Code Activit

A002

Activit

Cration dune application oriente objet multiclasses.

Dure

2 heures

Phase dapprentissage

BASE
Cette activit dapprentissage doit vous permettre
de :

Dtails sur les objectifs


viss par lactivit

Matire duvre et/ou


outillage

Intgrer plusieurs classes dans un seul


projet.
Surcharger la mthode "Equals()".
Dclarer une proprit de type tableau.
Instancier une proprit de type tableau
dans un constructeur.
Faire appel aux objets dune classe partir
dune autre classe.
Utiliser un tableau dobjets.

Micro-Ordinateur;
Systme dexploitation Microsoft Windows;
EDI : Microsoft Visual Studio.

DESCRIPTION DE LACTIVIT

GESTION DUNE LIBRAIRIE PARTIE 1


En vue de la gestion dune librairie, on veut crire une application
oriente objet pour organiser des livres. Lapplication sera base sur 2
classes :
Une classe appele Auteur contient :
3 variables dinstance prives : nom (de type string),
email (de type string), et sexe (de type char soit m ou
f) ;
1 constructeur qui initialise tous les arguments
Auteur(string nom,string email,char sexe);
2 accesseurs de lecture seule pour nom et sexe, et 1
accesseur de lecture et modification pour email;
1 mthode bool Equals(Auteur auteur) qui teste
lgalit de 2 auteurs en se basant sur leurs e-mails;
1 mthode ToString()qui retourne les informations sur
chaque instance sous la forme : nom (sexe) email ,
comme indiqu dans cet exemple : ALAOUI Mohamed
(m) alaoui-med@mail.ma .
Une classe appele Livre contient :
4 variables dinstance prives : titre (de type string),
nomAuteur (de type string[] en considrant un ou
plusieurs auteurs par livre), prix (de type double),
et quantit_en_stock (de type int);
2 constructeurs : Livre(string titre, Auteur[] auteur,
double prix) et Livre(string titre, Auteur[] auteur,
double prix, int quantit_en_stock);
2 accesseurs de lecture seule pour titre et nomAuteur,
et 2 accesseurs de lecture et modification pour prix
et quantit_en_stock;
1 mthode bool Equals(Livre livre) qui teste lgalit de
2 livres en se basant sur leurs titres et leurs auteurs;
1 mthode ToString()qui retourne les informations sur
chaque instance sous la forme :
titre de nomAuteur et , cote prix DH avec quantit_en_stock
exemplaires en stock. ,
comme indiqu dans cet exemple :

Exercices en C# de ALAOUI Mohamed et ALAMI Meryem, cote


200.00 DH avec 64 exemplaires en stock.,
Travail raliser :
a. crire les 2 classes Auteur et Livre.
b. Tester le programme en utilisant les informations de lexemple
cit dans lnonc de lactivit.

Activit dapprentissage 3
Module

11

Programmation oriente objet

Prcision

Programmer des classes dans un langage de


P.O.O.

Code Activit

A003

Activit

Mise en uvre de la composition entre les classes.

Dure

3 heures

Phase dapprentissage

ENTRANEMENT
Cette activit dapprentissage doit vous permettre
de :

Dtails sur les objectifs


viss par lactivit

Matire duvre et/ou


outillage

Sur-dfinir les mthodes dune classe.


Dclarer des proprits avec le type des
classes composantes.
Rutiliser les mthodes des classes
composantes.

Micro-Ordinateur;
Systme dexploitation Microsoft Windows;
EDI : Microsoft Visual Studio.

DESCRIPTION DE LACTIVIT
APPLICATION DE GOMTRIE PARTIE 2
On dsire raliser une application oriente objet permettant de crer
des formes gomtriques partir de points.
Une classe appele Point permet de manipuler les points dun plan, et
contient :
2 variables dinstance prives : abscisse et ordonne
(de type int) qui doivent tre comprises entre 999 et
999;
4 constructeurs : 1 constructeur par dfaut sans
argument, 1 constructeur 1 argument, 1 constructeur

2 arguments et le constructeur de recopie


Point(Point p).
2 accesseurs pour abscisse et ordonne;
1 mthode ToString()qui retourne les coordonnes dun
point;
1 mthode float Norme(Point p) qui permet de calculer
la norme du vecteur constitu du point courant et du
point pass en argument.
Rappel : Si A reprsente le point courant, B reprsente
le point pass en argument, x reprsente labscisse et y
reprsente lordonne :

1 mthode bool Equals(Point p) qui permet de tester la


concidence du point courant avec le point pass en
argument;
1 mthode void Translater(int dx, int dy) qui permet de
translater un point en ajoutant labscisse la valeur dx
et lordonne la valeur dy;
3 mthodes :
void
setCoordonnes(double
abscisse,
double
ordonne),
void setCoordonnes(Point p),
et void setCoordonnes(int abscisse, int ordonne).
(Penser utiliser la fonction Math.Round(double
argument) pour arrondir les valeurs lentier);
2 mthodes : double Distance(int abscisse, int
ordonne) et double Distance(Point p), permettant de
calculer la distance entre le point courant et les
coordonnes passes en arguments.
Rappel : Dans un espace de dimension n, pour 2 points
ayant respectivement les coordonnes (x1, x2, ...,xn) et
(y1, y2, ...,yn), la distance entre les 2 points est :

Une classe appele Triangle contient :


3 variables dinstance prives : A, B et C (de type

Point) ;
2 constructeurs :
Triangle(int xA, int yA, int xB, int yB, int xC, int yC)
et Triangle(Point A, Point B, Point C);
1 mthode double getPrimtre() qui retourne le
primtre dun triangle ( utiliser la mthode
Distance(Point p) de la classe Point;
1 mthode string getTriangleType() qui retourne le type
du triangle : "quilatral" si ses 3 ctes sont gaux,
"isocle" si 2 de ses 3 ctes sont gaux, ou "scalne"
dans le cas chant.
1 mthode ToString().
Travail raliser :
a. crire les 2 classes Point et Triangle.
b. Modifier la classe Cercle (ralise prcdemment) en ajoutant :
1 variable dinstance prive : centre (de type Point) qui
reprsente le centre dun cercle;
3 constructeurs : 1 constructeur 3 arguments, le
constructeur de recopie Cercle(Cercle c) et un
constructeur Cercle(double rayon, string couleur, int
abscisse, int ordonne);
1 accesseur pour centre.
c. Mettre jour la mthode ToString() de la classe Cercle pour
retourner les informations sur une instance de la classe Cercle comme
indiqu dans cet exemple :
Le cercle de centre (5 ,7) a un rayon de 1 et une surface de
3,14.
d. crire une classe Cylindre qui contient :
2 variables dinstance prives : base_cylindre (de type
Cercle) qui reprsente la base du cylindre, et hauteur
(de type double) avec valeur par dfaut de 1.0;
4 constructeurs : 1 constructeur 2 arguments, le
constructeur de recopie Cylindre (Cylindre c), 1
constructeur sans arguments Cylindre(), et 1
constructeur Cylindre (double rayon, double hauteur);
1 accesseur pour hauteur.
1 mthode double getVolume() qui retourne le volume
dun cylindre (Utiliser la mthode getSurface() de la

classe Cercle).
1 mthode ToString().
e. Crer un jeu de tests.

Vous aimerez peut-être aussi