methods-package: Formal Methods and Classes

Description Details Author(s) References


Formally defined methods and classes for R objects, plus other programming tools, as described in the references.


This package provides the “S4” or “S version 4” approach to methods and classes in a functional language.

For basic use of the techniques, start with Introduction and follow the links there to the key functions for programming, notably setClass and setMethod.

Some specific topics:


Creating one, see setClass; examining definitions, see getClassDef and classRepresentation; inheritance and coercing, see is and as

Generic functions:

Basic programming, see setGeneric; the class of objects, see genericFunction; other functions to examine or manipulate them, see GenericFunctions.


Using classes, see setOldClass; methods, see Methods_for_S3.

Reference classes:

See ReferenceClasses.

Class unions; virtual classes

See setClassUnion.

These pages will have additional links to related topics.

For a complete list of functions and classes, use library(help="methods").


R Core Team

Maintainer: R Core Team


Chambers, John M. (2016) Extending R, Chapman & Hall. (Chapters 9 and 10.)

Chambers, John M. (2008) Software for Data Analysis: Programming with R Springer. (Chapter 10 has some additional details.)

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.