[R] Re: S4 method inheritance

Duncan Murdoch murdoch at stats.uwo.ca
Tue May 24 13:07:07 CEST 2005

Ross Boylan wrote:
> On Mon, 2005-05-23 at 14:41 -0700, Ross Boylan wrote:
> ....
>>Finally, I'm a bit concerned that one article mentioned that S4
>>inheritance, in practice, is used mostly for data, not methods (Thomas
>>Lumley, R News 4(1), June 2004: p. 36).  Am I going down a road I
>>shouldn't travel?
> Hmm, maybe I just found out.  If B is an S4 subclass of A (aka extends
> A), how does B's method foo invoke A's foo?

Your question doesn't make sense in S4.  In S4, classes don't have 
methods, generics have methods.  There's no such thing as "B's method" 
or "A's method".

You might get what you want with foo(as(bObject, "A")) if bObject is an 
instance of class B.

> The question assumes that A's foo was defined as an in place function,
> so there's no (obvious) named object for it, i.e,
> setMethod("A", signature(blah="numeric"), function(x) something)

I don't know what you mean by "in place function", but I hope my answer 
helps anyway.

Duncan Murdoch

More information about the R-help mailing list