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]