Recherche…


Introduction

Cette page de documentation décrit les quatre systèmes d'objet de R et leurs similarités et différences de haut niveau. Plus de détails sur chaque système individuel peuvent être trouvés sur sa propre page de sujet.

Les quatre systèmes sont: S3, S4, Classes de référence et S6.

S3

Le système d'objet S3 est un système OO très simple dans R.

Chaque objet a une classe S3. Il peut être obtenu avec la class fonction.

> class(3)
[1] "numeric"

Il peut également être défini avec la class fonctions:

> bicycle <- 2
> class(bicycle) <- 'vehicle'
> class(bicycle)
[1] "vehicle"

Il peut également être défini avec la fonction attr :

> velocipede <- 2
> attr(velocipede, 'class') <- 'vehicle'
> class(velocipede)
[1] "vehicle"

Un objet peut avoir plusieurs classes:

> class(x = bicycle) <- c('human-powered vehicle', class(x = bicycle))
> class(x = bicycle)
[1] "human-powered vehicle" "vehicle" 

Lors de l'utilisation d'une fonction générique, R utilise le premier élément de la classe qui dispose d'un générique disponible.

Par exemple:

> summary.vehicle <- function(object, ...) {
+   message('this is a vehicle')
+ }
> summary(object = my_bike)
this is a vehicle

Mais si nous définissons maintenant un summary.bicycle :

> summary.bicycle <- function(object, ...) {
+   message('this is a bicycle')
+ }
> summary(object = my_bike)
this is a bicycle


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow