Chapitre 6. Programmation en R
305
plot.new()
plot.window(xlim=c(-1,1),ylim=c(-1,1),asp=1)
rect(-.5,-.5,.5,.5)
symbols(0,0,circle=.5,inches=FALSE,add=TRUE)
6.4- Testez vos d´ eveloppements en ex´ ecutant le code :
fen^ etre <- Fen^ etre(0,0,2,2)
cercle <- Cercle(0,0,.5)
rectangle <- Rectangle(0,0,1,1)
plot(fen^ etre);plot(cercle);plot(rectangle)
Si tout se passe bien, vous devriez voir apparaˆ ıtre une fenˆ etre graphique
repr´ esentant un cercle `
a l’int´ erieur d’un carr´ e.
6.5- Il nous reste maintenant ` a d´ evelopper les m´ ethodes associ´ ees `
a la classe
Graphe qui contiendra la liste de tous les objets graphiques. Proposez
tout d’abord la fonction constructeur Graphe() qui initialise un objet ` a
list(objets=list()) (o` u objets est le champ contenant la liste des
objets graphiques), lui affecte la classe "Graphe" puis la retourne.
6.6- Proposez une m´ ethode ajout.Graphe() qui permet d’ajouter des objets
graphiques. N’oubliez pas de fournir une fonction g´ en´ erique ajout() afin
de lancer toutes les m´ ethodes associ´ ees. En utilisant la fonctionnalit´ e de la
liste compl´ ementaire de param` etres ... et la fonction c(), faites en sorte
que la m´ ethode ajout.Graphe() puisse initialiser autant d’objets graphiques que souhait´ e par l’utilisateur. Proposez la m´ ethode plot.Graphe
qui permet simplement d’ex´ ecuter les m´ ethodes plot() pour tous les
objets graphiques. L’utilisateur est alors en mesure de saisir les lignes
suivantes pour obtenir le mˆ eme r´ esultat que pr´ ec´ edemment :
graphe <- Graphe()
graphe <- ajout(graphe,Fen^ etre(0,0,2,2),Cercle(0,0,.5),
Rectangle(0,0,1,1))
plot(graphe)
6.7- Pour afficher un graphique, il est donc n´ ecessaire qu’un objet du type
Fen^ etre soit initialis´ e et plac´ e au moins en premi` ere position dans la liste
des objets graphiques de la classe Graphe. Il est alors peut-ˆ etre souhaitable de directement l’initialiser ` a l’int´ erieur de la fonction constructeur
Graphe(). Les param` etres de la fonction Fen^ etre() pourront ˆ etre directement propos´ es pour la fonction Graphe(). Une autre id´ ee est aussi
de proposer `
a l’utilisateur une liste d’objets graphiques ` a la cr´ eation
d’un objet de classe Graphe. Comme nous l’avons fait pour la m´ ethode
ajout.Graphe(), on pourra utiliser la liste compl´ ementaire de param` etres
... que l’on prendra soin de placer en premier param` etre de la fonction
Graphe() de sorte que l’on pourra obtenir le r´ esultat pr´ ec´ edent en seulement deux lignes de commandes :
graphe <- Graphe(Cercle(),Rectangle())
plot(graphe)
Précédent

- 338/701

Suivant