Information Technology Reference
In-Depth Information
Qui se traduit par exemple en langage C par le programme suivant :
#define triangle 1
#define cercle 2
#define carre 3
#define rectangle 4
int perimetre (objet, a, r, h, b)
int objet, a, b, h, r;
{
switch (objet) {
case 1 : return (3 * a);
case 2 : return (2 *
* r);
case 3 : return (4 * a);
case 4 : return (2 * a + 2 * b);}
}
π
par
exemple, la solution va s'attacher à identifier les objets concernés : ici, par exemple,
nous identifierons 4 objets, le cercle, le triangle, le carré et le rectangle, chacun étant
associé à deux méthodes, la méthode perimetre et la méthode surface qui lorsqu'elles
sont appelées rendent respectivement le périmètre ou la surface de l'objet concerné.
Le carré et le rectangle sont quant à eux tous les deux des quadrilatères pour lesquels
le calcul de la surface et du périmètre s'effectue de manière identique (le carré est un
rectangle de côtés a et b pour lequel a
Dans une analyse basée sur l'utilisation finale d'un langage objet tel que C
++
b).
Dans cette analyse, nous allons définir une classe quadrilatere, une classe cercle
et une classe triangle. Une classe définit une collection d'objets qui partagent les
mêmes propriétés et sur lesquels les mêmes traitements peuvent être exécutés. Nous
créons ensuite deux objets carre et rectangle, instances de la classe quadrilatere,
un objet rond instance de la classe cercle et un objet triangle_iso, instance de la
classe triangle.
L'algorithme qui en découle peut être de la forme suivante :
définition classe quadrilatère (
entier a, b; -- les côtés du quadrilatère;
fonction périmètre :: retourner (2 × a + 2 × b);
fonction surface :: retourner (a × b);)
définition classe triangle (
entier a, h; -- le côté et la hauteur du triangle;
fonction périmètre :: retourner (3
=
×
a);
fonction surface :: retourner ((a
×
h)/2);)
définition classe cercle (
entier r; -- le rayon du cercle;
fonction périmètre :: retourner (2 × π × r);
fonction surface :: retourner (π × r 2 );)
Search WWH ::




Custom Search