R Language
R의 객체 지향 프로그래밍
수색…
소개
이 문서 페이지는 R의 4 가지 객체 시스템과 상위 수준의 유사점과 차이점을 설명합니다. 각 개별 시스템에 대한 자세한 내용은 자체 주제 페이지에서 확인할 수 있습니다.
네 가지 시스템은 S3, S4, Reference Classes 및 S6입니다.
S3
S3 오브젝트 시스템은 R에서 매우 간단한 OO 시스템입니다.
모든 객체에는 S3 클래스가 있습니다. 함수 class
로 get (got?) 할 수 있습니다.
> class(3)
[1] "numeric"
함수 class
로 설정할 수도 있습니다.
> bicycle <- 2
> class(bicycle) <- 'vehicle'
> class(bicycle)
[1] "vehicle"
attr
함수를 사용하여 설정할 수도 있습니다.
> velocipede <- 2
> attr(velocipede, 'class') <- 'vehicle'
> class(velocipede)
[1] "vehicle"
객체에는 여러 클래스가있을 수 있습니다.
> class(x = bicycle) <- c('human-powered vehicle', class(x = bicycle))
> class(x = bicycle)
[1] "human-powered vehicle" "vehicle"
일반 함수를 사용할 때 R은 사용 가능한 제네릭이있는 클래스의 첫 번째 요소를 사용합니다.
예 :
> summary.vehicle <- function(object, ...) {
+ message('this is a vehicle')
+ }
> summary(object = my_bike)
this is a vehicle
그러나 이제 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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow