[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