224
Le logiciel R - Maˆ ıtriser le langage
Expert
Cela ´ etant dit, ce n’est pas tout ` a fait vrai, car l’objet obj a conserv´ e sa
caract´ eristique d’ˆ etre aussi de la classe integer, comme le montre la sortie
suivante :
> obj * 2
[1] 2 4 6 8 10 12 14 16 18 20
attr(,"class")
[1] "LaClasse"
En effet, tous les ´ el´ ements du vecteur obj ont ´ et´ e multipli´ es par 2.
Nous esp´ erons que dans les prochaines versions de R, la sortie de la fonction class() appliqu´ ee ` a un objet semblable pourra ˆ etre du style [1]
"LaClasse" "integer" permettant ainsi de mieux traduire la vraie nature de l’objet.
Pour savoir si un objet est d’une certaine classe, on peut le faire des deux
mani` eres suivantes :
> class(obj)=="LaClasse"
[1] TRUE
> inherits(obj,"LaClasse")
[1] TRUE
La fonction inherits() (en fran¸ cais, h´ erite) sera toutefois ` a privil´ egier,
comme nous le verrons plus tard quand nous consid´ ererons des objets dits polymorphes ayant plusieurs classes.
Astuce
Pour voir la classe de la fonction function(), vous pouvez utiliser l’instruction suivante :
> class(function() {})
[1] "function"
Pour la fonction ":"(), il faut utiliser class(get(":")).
6.3.1.2 D´ eclaration et utilisation d’une m´ ethode d’un objet
Le m´ ecanisme de programmation orient´ ee objet de R est relativement simple
et plutˆ ot original comparativement ` a beaucoup d’autres langages de programmation. Pour comprendre ce m´ ecanisme, illustrons-le sur l’exemple le plus utilis´ e en R, ` a savoir l’affichage d’un quelconque objet R au moyen de la fonction
print(). Pour ce faire, analysons la s´ erie de sorties R suivantes :
Précédent

- 257/701

Suivant