[Rd] Some extensions to class inheritance and method selection
John Chambers
jmc at r-project.org
Sun Apr 26 21:58:27 CEST 2009
Changes were committed today to the r-devel version of R to make S4 and
S3 classes (and abnormal object types such as "environment") work
together more consistently.
Basically, S4 classes can now contain any S3 class or object type, and
should now inherit S3 methods for these. Also, the main practical
problem with defining S3 methods for other S4 classes (namely, that S4
inheritance was not recognized) has been fixed, to the extent possible.
See ?Methods (especially the section on S3 methods). For details (there
are quite a few) see the paper referenced there,
http://stat.stanford.edu/~jmc4/classInheritance.pdf
Since these changes arguably fix design flaws, I would like to see them
in 2.9.1, so please test them out. For the moment, they are only in the
r-devel version.
There can be changes to current behavior. For example, I found one
regression test for S4 methods that only worked because an apparent S3
method, sort.list, was NOT inherited by an S4 class that contained "list".
John
More information about the R-devel
mailing list