setClass("A") setClass("B", contains = c("array", "A")) a = array(1:12, c(2,3,4)) bb = new("B", a) a2 = array(8:1, rep(2,3)) stopifnot(identical(initialize(bb, a2), new("B",a2))) withDots <- function(x, ...) names(list(...)) setGeneric("withDots") setClass("C", representation(x="numeric", y="character")) setMethod("withDots", "C", function(x, ...) callNextMethod() ) stopifnot(identical(withDots(1, a=1, b=2), withDots(new("C"), a=1, b=2))) removeClass("C"); removeClass("B"); removeClass("A") removeGeneric("withDots") rm(a, bb, a2)