Vous êtes sur la page 1sur 5

1PProgrammationOO-2SE 1 Dr,HaJer

Nallll
Série TP N°:2
Classe/Constructeur/Héritag
e

Objectif :Le but de œ TP ut de COllCl'ltisl!I' les cmtnaisslllfU8 acqllÙes mcounsur les natimu de
l'oriente objet. Â aavolr: la Milon de claue, coMtl'Uctelll', mhlwda et l'utilité de l'hèrltage.

DIDS les exm:ices SllÏvantB, VVWI poum:z SllppOser que VOllS disposez de la classe Point :

public Paial() { li.-O;y•O; }


public Pohll(floldr,. y) ( dUu = z;dila.J = :r.} public tlOllt ICtXO {Rllmlx;}
public tlHt .PIY'O {nmmy; }
public Stiùl&liOSllüleO ( reaim "("+t!-",''+yf-")":l
}

Exerdee l:

Aj0111ie:r à laclas&e Point une mé1hode, à l&ullat réel. renvoyant la distance entre lepoint co111'111t et
lepohlt paaaé en.paiam&e.

ll.flJ1Pd : Soiellt (d.yl) et (.d,y2) lu ooordonnla de tleia polllt8, alon la dlstanœ entre
eu tleta
poinlll ut Ill IYlCÏM cœrée de (JiI-J1:2.f +(yl.,.2)J,

A.M lœ : POUi' calculo la ra&Ïlle cœrh! d\us Mntbre, utilisa la métliode 8tatique
double aqrt(double) de la cluse Matit, pena le toya de lire cette cluse en entier et
voir lea dljfére1lle8 'lnilllotla el éventlleUemaa lu testu.
Exerdce 2:
Un polygone pnt 81n1 cl6fini par la lista de ses llDlllDlllls lllMlCeSBifll, par exemple œ
triangle mt
par les cocmlonn6ea de ses trois 8DDllllCt8 (:d,yl),(x2, y1) et ("3,y3) :
(x2.y2)

(xi.y!)

(xJ.yJ)

1
1PProgrammationOO-2SE 1 Dr,HaJer
Nallll
Ec:rire une claue Polygone wmporlaüt :

• un coutructeur avec un tabh:au de Points en pl118111!1re,


• une imthode d'affichage, de pr6fé!ence enn-Al:finjyant lamlhode Strinq toString(1.

2
1PProgrammationOO-2SE 1 Dr,HaJer
Nallll
• une mêthode ài:ésuliat m1ie:r cloMant le nomlm: de !!QIM!ets.
Lo nomlml da somma1s du polygOilll tStant fix6 par le nombre d'61énumts du tablmu de
points du C01111truc11e11r. La tœthocle cl'affiMage devra préciser que c'est un polygOM.

Exerdee3:

Ajoutu 6 la classe Polygone \Ille m61hode, i\ rmdtat 1.calçgl111t lepl:rim!1rc dupolygone


(somme: dca c:o16s).

Exaclœ 4:

Un ndl!n6'e est un polygone pmticulier (on ne s'intéœuera iciqu'aux rert•ngl.,. ayant leur cotés
parallaea awt aes).Plut4t que de définir un rectangle par sea quatre sommeta, on pœtùe le définir
par deux points oppoûs oupar 1Dlpoint plus lalargeur ellahauœur :

(xi.y!)

D
(X, y)

Dhauteur

(x2.y1) largeur

Eclire une classe Rectangle,Mritant de la classe Polygone;deux conauucteum aennt foumia.


l'un avec deux pohm, l'IU!le avec un point et deux réela (largeur et hauteur).La méthode
d'affichage p.iécùera que c'est un rectangle. On dewa pouvoir utiliser la m61hode dmmant
le nomlml de somme!S et la m6thode ca1eulant lep&im!lrc.

Nou : 01111t f ()fU711ra tp1e ce f'll est nk#8alre, œmpte tenv de cetp1I ut apportPli'
l'héritage I

EnnlœS:

Un C8l1'6 est un RC11mgle particulier avec la hwteur qui ett égalt à la largeur.Un carré peut
êm:
défini par œpoint plwi lalcmgw:ur de soncot6 :

coté

Eclire une classe Ce.rre, haitant de la cluse Rectangle; un constrac:teur avec un point et un i:œl
(le coté) aera founû. Laméthode d'affichage précisera que c'enun .

Exardœ l:

Un polygone peut etre circomcrit par un :rectangle, c'ett le plus petit rectangle (i\ cotés
parallles
3
1PProgrammationOO-2SE 1 Dr,HaJer
aux llltea)amlœant tout lepolygone : Nallll

4
1PProgrammationOO-2SE 1 Dr,HaJer
Nallll
(x2.y2)

Ajou1ie:r à lacluse Polygoneune mtlhode, àR8ullat IWVngle, retoumaDt lerec18Dgle cin:ouC'lit


au polygone counnt (il faut :reclmeher l'absciw minimale et l'absciuc: mairimaJe
d point&, et la
meme chose pour l'ordmmk).
La clusepermettant de tester votre travail pomn.etre la 11uivmte :

rlaD
{
1JUbllc • '°"
TClll'olyJpme

mahl(SCrhla[] lllt)
{
Poinl[] J18 =118WPoinl[){118WPoinl(l,1),118WPoinl(l,2), mw Poinl(2,2),- Poinl(2,1)};

PolJlpmi: p--PolyJPlllll(pa);
S:ptmm.om.prinlln(p);
8Jlla.Ollt. :"-f1!,perlraeln());

P......r.le r = llfflRectan&le( Pohd(0,1),-Pohd(l,(J)):


S,.œm.out. ;
S:ptmm.ollt. :"-111.pcrimdœ());

R...._lllcD"• - Painl(0,1), 1,1);


S:ptmm.ollt.prinlln(IT);
8JSIG.0Dt. :"it•...-...0):

P.....,r.l•c=-
Cllm(118Wl'oinl(O,l},1);
8J11a.Out.1Jl'lalla():
}
}

Vous aimerez peut-être aussi