Defining methods for an S4 class
When a new class is defined, the data elements are defined, but the methods associated with the class are defined on a separate stage. Methods are implemented in a manner similar to the one used for S3
classes. A function is defined, and the way the function reacts depends on its arguments. If a method is used to change one of the data components of an object, then it must return a copy of the object, just as we saw with S3
classes.
The creation of new methods is discussed in two steps. We will first discuss how to define a method for a class where the method does not yet exist. Next, we will discuss some predefined methods that are available and how to extend them to accommodate a new class.
Defining new methods
The first step to create a new method is to reserve the name. Some functions are included by default, such as the initialize
, print
or show
commands, and we will later see how to extend them. To reserve a new name, you must first use the setGeneric...