R Language
Programowanie obiektowe w języku R.
Szukaj…
Wprowadzenie
Ta strona dokumentacji opisuje cztery systemy obiektowe w R oraz ich podobieństwa i różnice wysokiego poziomu. Więcej szczegółów na temat każdego systemu można znaleźć na jego stronie tematycznej.
Cztery systemy to: S3, S4, klasy referencyjne i S6.
S3
System obiektowy S3 jest bardzo prostym systemem OO w R.
Każdy obiekt ma klasę S3. Można uzyskać (dostać?) Za pomocą class
funkcji.
> class(3)
[1] "numeric"
Można go również ustawić za pomocą class
funkcji:
> bicycle <- 2
> class(bicycle) <- 'vehicle'
> class(bicycle)
[1] "vehicle"
Można go również ustawić za pomocą funkcji attr
:
> velocipede <- 2
> attr(velocipede, 'class') <- 'vehicle'
> class(velocipede)
[1] "vehicle"
Obiekt może mieć wiele klas:
> class(x = bicycle) <- c('human-powered vehicle', class(x = bicycle))
> class(x = bicycle)
[1] "human-powered vehicle" "vehicle"
Korzystając z funkcji ogólnej, R używa pierwszego elementu klasy, który ma dostępny rodzajowy.
Na przykład:
> summary.vehicle <- function(object, ...) {
+ message('this is a vehicle')
+ }
> summary(object = my_bike)
this is a vehicle
Ale jeśli teraz zdefiniujemy 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow