R 언어에서 S4 대상의 범용 함수

R 언어에서 S4 대상 시스템에는 클래스 정의 함수 setClass () 와 클래스의 실례화 함수 new () 가 있습니다.S4의 범용 함수 실현은 S3의 실현과 다르다. S4는 방법의 정의와 실현을 분리했다. 예를 들어 다른 언어에서 우리가 흔히 말하는 인터페이스와 실현 분리를 분리했다.setGeneric () 를 통해 인터페이스를 정의하고 setMethod () 를 통해 실현 클래스를 정의하면 S4 대상 시스템이 대상을 대상으로 하는 특징에 더욱 부합할 수 있다.일반 함수의 정의와 호출
> work <- function(x) cat(x, "is working") > work('Conan') Conan is working

R로 인터페이스를 분리하고 실현하는 방법을 살펴봅시다.  
## 
setClass("Person",slots = list(name="character",age="numeric"))
## 
setGeneric("work",function(object) standardGeneric("work")) ##  setMethod("work",signature(object="Person"),function(object) cat(object@name, "is working")) a <- new("Person",name="Conan",age=16) work(a)

S4 대상 시스템을 통해 원래의 함수 정의 및 호출 과정을 2단계에서 4단계로 변경한다. (1) 클래스나 대상을 정의한다.(2) 인터페이스 정의;(3) 인터페이스 실현;(4) 데이터 대상을 인터페이스 함수에 넣고 인터페이스 함수를 호출한다.그래서 S4 대상 시스템은 구조화된 대상을 대상으로 실현된다.

좋은 웹페이지 즐겨찾기