重写父类构造函数

类 / 构造函数

new_man <- function(name, ...,
                    class = character()) {
  structure(list(name = name, ...),
            class = c(class, "Man"))
}

# Fewer arguments: the child sets the rest
new_employee <- function(name) {
  new_man(name, position = "unknown",
          class = "Employee")
}

employee <- new_employee("Max")
# employee$position = unknown

cat("employee$name =", employee$name, "\n")
cat("employee$position =",
    employee$position, "\n")
cat("class(employee) =", class(employee), "\n")