R Language
Programmazione orientata agli oggetti in R
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