## Object Classes

## Usage

    class(x)
    class(x) <- names
    unclass(x)
    inherits(x, name)

## Description

R possesses a simple generic function mechanism which can be used for an object-oriented style of programming. Method despatch takes place based on the class of the first argument to the generic function.

An R ``object'' is a data object which has a `class` attribute. A class attribute is a vector of character strings giving the names of the classes which the object ``inherits'' from. When a generic function `fun` is applied to an object with class attribute `c("first", "second")`, the system searches for a function called `fun.first` and, if it finds it, applies it to the object. If no such function is found, a function called `fun.second` is tried. If no class name produces a suitable function, the function `fun.default` is used.

The function `class` prints the vector of names of classes an object inherits from. Correspondingly, `class<-` sets the classes an object inherits from.

`unclass` returns (a copy of) its argument with its class information removed.

`inherits` indicates whether its first argument inherits from a class with name equal to its second argument.

## See Also

`UseMethod`, `NextMethod`.

[Package Contents]