new_calc <- function() {
structure(list(), class = "Calc")
}
# A generic picks the method by class
get_sum <- function(calc, ...) {
UseMethod("get_sum")
}
get_sum.Calc <- function(calc, n1, n2, ...) {
n1 + n2
}
calc <- new_calc()
sum1 <- get_sum(calc, 5, 3)
# sum1 = 8
sum2 <- get_sum(calc, 2, 3)
# sum2 = 5
cat("sum1 =", sum1, "\n")
cat("sum2 =", sum2, "\n")