R: Generate an Object from a Class

new {methods} | R Documentation

## Generate an Object from a Class

### Description

Given the the name or the definition of a class, plus optionally data to be included in the object, `new` returns an object from that class.

### Usage

    new(Class, ..., .Force=FALSE)

### Arguments

`Class` | Either the name of a class (the usual case) or the object describing the class (e.g., the value returned by `getClass`).
`...` | Data to include in the new object. Named arguments correspond to slots in the class definition. Unnamed arguments must be objects from classes that this class extends.
`.Force` | Normally, an attempt to apply `new` to a virtual or an undefined class generates an error. If `.Force` is `TRUE`, an ``empty'' object is returned instead. Users are very unlikely to need this argument.

### Details

The function begins by copying the prototype object from the class definition. Then information is inserted according to the ... arguments, if any, first from the superclasses (the unnamed arguments) then from the named slots. Thus, explicit slots override inherited information for the same slot, regardless of the order in which the arguments appear.

Note that the basic vector classes, `"numeric"`, etc. are implicitly defined, so one can use `new` for these classes.

### Author(s)

John Chambers

### References

The web page http://www.omegahat.org/RSMethods/index.html is the primary documentation.

The functions in this package emulate the facility for classes and methods described in Programming with Data, (John M. Chambers, Springer, 1998). See this book for further details and examples.

### See Also

Classes

### Examples

    ## using the definition of class "track" from Classes

    ## a new object with two slots specified
    t1 <- new("track", x = seq(along=ydata), y = ydata)

    # a new object including an object from a superclass, plus a slot
    t2 <- new("trackCurve", t1, smooth = ysmooth)

[Package Contents]