Ricerca…


introduzione

Questa pagina di documentazione descrive i quattro sistemi oggetto in R e le loro somiglianze e differenze di alto livello. Maggiori dettagli su ogni singolo sistema possono essere trovati sulla sua pagina di argomento.

I quattro sistemi sono: S3, S4, Classi di riferimento e S6.

S3

Il sistema di oggetti S3 è un sistema OO molto semplice in R.

Ogni oggetto ha una classe S3. Può essere ottenuto (ottenuto?) Con la class funzione.

> class(3)
[1] "numeric"

Può anche essere impostato con la class funzione:

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

Può anche essere impostato con la funzione attr :

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

Un oggetto può avere molte classi:

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

Quando si utilizza una funzione generica, R utilizza il primo elemento della classe che ha un generico disponibile.

Per esempio:

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

Ma se ora definiamo 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow