Skip to content

S4 generic functions/methods vs enclosures

3 messages · John Chambers, andre zege

#
Apologies for asking something that is probably very obvious, i just started
with S4 classes and i guess i am not finding documentation that lays out the
grammar rules and gives enough examples. 

I understand that main method of writing a member function is to write a
generic function and setMethod for this particular class. This, however,
presumes that there is "virtuality" for this function, i.e. it could be used
with other inherited classes . Truth is, many, if not most of my functions
don't have virtuality in mind. I want to write them inside classes to
achieve incapsulaton only -- use class member data without passing it as
parameters or making global to a bunch of functions and have some specific
class member functions that don't pollute a global namespace and can be
called only for a particular class. This is what enclosured do in R. Is
there some obvious way of setting this environment local to a class and 
without writing generic functions that i am missing?


Would appreciate any pointers 


--
View this message in context: http://r.789695.n4.nabble.com/S4-generic-functions-methods-vs-enclosures-tp3430950p3430950.html
Sent from the R devel mailing list archive at Nabble.com.
#
Look at ?ReferenceClasses for this OOP paradigm in R, which is quite 
different from the functional paradigm of S4 methods.
On 4/6/11 7:54 AM, A Zege wrote:
#
This looks awesome -- it is precisely what i wanted. I have started hacking
with passing around environments  to simulate behavior of classes i was
after, but this is so much neater. Reference classes seem to do precisely
what i wanted. Thank you very much.

--
View this message in context: http://r.789695.n4.nabble.com/S4-generic-functions-methods-vs-enclosures-tp3430950p3431755.html
Sent from the R devel mailing list archive at Nabble.com.