# The parent takes extra fields and classes
new_man <- function(name, ...,
class = character()) {
structure(list(name = name, ...),
class = c(class, "Man"))
}
# The child calls the parent constructor
new_employee <- function(name, position) {
new_man(name, position = position,
class = "Employee")
}
employee <- new_employee("Max", "booker")
# class(employee) = Employee Man
cat("employee$name =", employee$name, "\n")
cat("employee$position =",
employee$position, "\n")
cat("class(employee) =", class(employee), "\n")