AbstractClass {ooplah}R Documentation

Create an abstract R6 Class

Description

Creates an abstract R6 class by placing a thin wrapper around R6::R6Class which causes an error to be thrown if the class is directly constructed instead of one of its descendants.

Details

An abstract class is a class that cannot be constructed directly. Instead they are used to define common fields/methods for child classes that inherit from them.

All arguments of R6::R6Class can be used as usual, see full details at R6::R6Class.

References

Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1996). Design Patterns: Elements of Reusable Software. Addison-Wesley Professional Computing Series (p. 395).

Examples

library(R6)

ab <- AbstractClass("abstract", public = list(hello = "Hello World"))
## Not run: 
# errors
ab$new()

## End(Not run)
child <- R6Class("child", inherit = ab)
child$new()$hello


[Package ooplah version 0.2.0 Index]